C#调用存储过程,急....

goldcoast 2008-11-26 11:02:02
private void AttachDataBase()
{
string Str_mdf;
string Str_ldf;

Str_mdf = "E:\\DataBase\\Test_Data.MDF";
Str_ldf = "E:\\DataBase\\Test_log.LDF";

SqlCommand thisCommand = new SqlCommand("sp_attach_db",SQLConn);

thisCommand.CommandType = System.Data.CommandType.StoredProcedure;

thisCommand.Parameters.Add(new SqlParameter("@dbname", SqlDbType.NChar, 50, "Test"));
thisCommand.Parameters.Add(new SqlParameter("@filename1", SqlDbType.NChar, 200, Str_mdf));
thisCommand.Parameters.Add(new SqlParameter("@filename2", SqlDbType.NChar, 200, Str_ldf));

thisCommand.ExecuteNonQuery();
}


为何出错?
...全文
176 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
hao1hao2hao3 2008-11-26
  • 打赏
  • 举报
回复
thisCommand.ExecuteNonQuery();

----------------------------------------
改成:

SQLConn.Open();

thisCommand.ExecuteNonQuery();


SQLConn.Close();

数据库连接要打开。
wangping_li 2008-11-26
  • 打赏
  • 举报
回复
SqlCommand thisCommand = new SqlCommand("sp_attach_db",SQLConn);
thisCommand.CommandType = System.Data.CommandType.StoredProcedure;
它怎么知道去哪里找sp_accach_db存储过程?
wangping_li 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 goldcoast 的帖子:]
private void AttachDataBase()
{
string Str_mdf;
string Str_ldf;

Str_mdf = "E:\\DataBase\\Test_Data.MDF";
Str_ldf = "E:\\DataBase\\Test_log.LDF";

SqlCommand thisCommand = new SqlCommand("sp_attach_db",SQLConn);

thisCommand.CommandType = System.Data.CommandType.StoredProcedure;


[/Quote]
你数据库只是指定路径,确定数据库了?
y63964632 2008-11-26
  • 打赏
  • 举报
回复
thisCommand.Text没有设置
baolei1981 2008-11-26
  • 打赏
  • 举报
回复
SQLConn.Open()
没有打开!
Old_Mouse 2008-11-26
  • 打赏
  • 举报
回复
楼主报什么错误?
xuefeny 2008-11-26
  • 打赏
  • 举报
回复
SqlCommand thisCommand = new SqlCommand("sp_attach_db",SQLConn);

缺少DBOwner

SqlCommand thisCommand = new SqlCommand("dbo.sp_attach_db",SQLConn);

lz把错误贴来看看
bloodish 2008-11-26
  • 打赏
  • 举报
回复
SQLConn.Open()
打开了吗?
liuyilidan 2008-11-26
  • 打赏
  • 举报
回复
thisCommand.CommandText = "Pro_Insert"; //这里要指定存储过程名 不然怎么找?
一游 2008-11-26
  • 打赏
  • 举报
回复
有这样的用法吗?奇怪!!~~~数据文件名传进去做什么?
huiweichi 2008-11-26
  • 打赏
  • 举报
回复

thisCommand.Connection = SQLConn;
thisCommand.CommandType = CommandType.StoredProcedure;
thisCommand.CommandText = "Pro_Insert"; //存储过程名

thisCommand.Parameters.Add("@dbname",SqlDbType.NChar,50);
Donny_zhang 2008-11-26
  • 打赏
  • 举报
回复
楼主把错误贴出来看一下。是编译错误还是运行错误啊
szh3210 2008-11-26
  • 打赏
  • 举报
回复
up
pp7749 2008-11-26
  • 打赏
  • 举报
回复
报什么错?
fen1230 2008-11-26
  • 打赏
  • 举报
回复
存储过程在SQL里是否能正常运行?检查存储过程参数是否与Add参数相同?
DalyQiao 2008-11-26
  • 打赏
  • 举报
回复
是不是路径不是服务器上的,SQL只认本地硬盘的,所以你给出的路径一定要是服务器上的路径才行。
xuefeny 2008-11-26
  • 打赏
  • 举报
回复
LZ 存储过程 里 有错误吗?
goldcoast 2008-11-26
  • 打赏
  • 举报
回复
连结打开了,都正学,调用"Select ...."都正常.就是执行存储过程,不能正常运行.

没有错误提示,程序执行到这句,不往下执行,而是跳出了.

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧