C# SqlCommand 用法

publicintRunProc(stringprocName,SqlParameter[]prams){SqlCommandcmd=CreateCommand(proc... public int RunProc(string procName, SqlParameter[] prams)
{
SqlCommand cmd =CreateCommand(procName, prams);
cmd.ExecuteNonQuery();
this.close();
return (int)cmd.Parameters["ReturnValue"].Value;
}

这个是从案例书上摘下来的语句,不过运行就有问题了,“当前上下文中不存在名称“CreateCommand”;百度死活找不出这问题所在,看到某些帖子上回复都是 ” SqlCommand cmd =CreateCommand(procName, prams)“ 这样用的,不明白到我这问题出在哪了,求高手!!!

如果换成 SqlCommand cmd =conn.CreateCommand(procName, prams) 就会出现“CreateCommand”方法没有采用“2”个参数的重载 “ 的错误;
要是command 实例化 SqlCommand cmd =new SqlCommand(procName, prams),那就更乱了;

新手,求指教!
展开
 我来答
syht2000
高粉答主

推荐于2016-06-16 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
CreateCommand是个自定义的方法,不清楚你是看漏了,还是你看的案例讲漏了(前者可能性比较大),这是原文
你只需要把上面的CreateCommand这个方法加到代码里就行了,形如
public int RunProc(string procName, SqlParameter[] prams)
{
//原代码
}
private SqlCommand CreateCommand(string procName, SqlParameter[] prams)
{
//原代码
}
8.将SqlParameter添加到SqlCommand中
CreateCommand方法创建一个SqlCommand对象以此来执行命令文本。完整代码如下:
例程08 代码位置:光盘\TM\01\SIS\ App_Code \ DataBase.cs
#region 将命令文本添加到SqlCommand
/// <summary>
/// 创建一个SqlCommand对象以此来执行命令文本
/// </summary>
/// <param name="procName">命令文本</param>
/// <param name="prams"命令文本所需参数</param>
/// <returns>返回SqlCommand对象</returns>
private SqlCommand CreateCommand(string procName, SqlParameter[] prams)
{
// 确认打开连接
this.Open();
SqlCommand cmd = new SqlCommand(procName, con);
cmd.CommandType = CommandType.Text;    //执行类型:命令文本
// 依次把参数传入命令文本
if (prams != null)
{
foreach (SqlParameter parameter in prams)
cmd.Parameters.Add(parameter);
}
// 加入返回参数
cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return cmd;
}
#endregion
荒木瑞希
2014-05-28 · 超过56用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:104万
展开全部
1:
必须和sql中的参数名一样,但加不加@都行。
2:
command.Parameters.Add("@ID", SqlDbType.Int);只是添加了个参数,但还没赋值。
command.Parameters["@ID"].Value = customerID;这句是赋值,必须有。
3:
command.Parameters.AddWithValue("@demographics", demoXml);
这句相当于上面两句合起来,你可以把上面两句改成这样:
command.Parameters.AddWithValue("@ID", customerID);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慎重还可靠灬宝贝f
2015-11-17 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2633万
展开全部
使用sqlcommand对象来返回数据集合的方法
string strconn="data source=billgates;initial catalog=test;integrated security=SSPI;";
SqlConnection conn=new SqlConnection(strconn);
conn.Open();
SqlCommand sqlcmd=new SqlCommand();
sqlcmd.CommandText ="select * from student";
sqlcmd.Connection=conn;
SqlDataAdapter adp=new SqlDataAdapter(sqlcmd);
DataTable dt=new DataTable();
adp.Fill(dt);
dataGrid1.DataSource=dt;

使用sqlcommand对象来返回SQL执行正确与否
string strconn="data source=billgates;initial catalog=test;integrated security=SSPI;";
SqlConnection conn=new SqlConnection(strconn);
conn.Open();
SqlCommand sqlcmd=new SqlCommand();
sqlcmd.CommandText ="select * from student";
sqlcmd.Connection=conn;
try
{
sqlcmd.ExecuteNonQuery();
MessageBox.Show("success");
}
catch
{
MessageBox.Show("false");
}

使用sqlcommand对象来操作存储过程
string strconn="data source=billgates;initial catalog=test;integrated security=SSPI;";
SqlConnection conn=new SqlConnection(strconn);
conn.Open();
SqlCommand sqlcmd=new SqlCommand();
sqlcmd.CommandText ="a";
sqlcmd.CommandType=CommandType.StoredProcedure ;
sqlcmd.Connection=conn;
sqlcmd.Parameters.Add("@param1",textBox1.Text.Trim());
sqlcmd.Parameters.Add("@param2",textBox2.Text.Trim());
sqlcmd.Parameters.Add("@param3",textBox3.Text.Trim());
SqlDataAdapter adp=new SqlDataAdapter(sqlcmd);
DataTable dt=new DataTable();
adp.Fill(dt);
dataGrid1.DataSource=dt;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
壊囝孩
2014-05-28 · TA获得超过688个赞
知道小有建树答主
回答量:868
采纳率:0%
帮助的人:138万
展开全部
你添加引用了吗?要添加引用SqlCommand这个方法。System.Data.SqlClient添加这个命名空间就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式