C# SqlCommand 用法

2025-04-08 16:53:02
推荐回答(4个)
回答1:

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
///


/// 创建一个SqlCommand对象以此来执行命令文本
///

/// 命令文本
///
/// 返回SqlCommand对象
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

回答2:

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);

回答3:

使用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;

回答4:

你添加引用了吗?要添加引用SqlCommand这个方法。System.Data.SqlClient添加这个命名空间就好了。