
在c#中执行sql语句时传递参数的小经验 1、直接写入法: 例如: int Id =1string Name="lui"cmd.CommandText="insert into TUserLogin values("+Id+",'"+Name+"')" 因为Id是数值,所以在传递的时候只需要在sql字符串中用"+Id+"即可实现,而 Name是字符串,所以在传递的时候还需要在"+Name+"两边各加一个单引号(')来 实现 2、给命令对象添加参数法: 例如:int Id =1 string Name="lui" cmd.CommandText="insert into TUserLogin values(@Id,@Name)" //上条语句中直接在sql语句中写添加的参数名,不论参数类型都是如此. SqlParameter para=new SqlParameter("@Id",SqlDbType.int,4)//生成一个名字为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同 para.Value=Id//给参数赋值 cmd.Parameters.Add(para)//必须把参数变量添加到命令对象中去。 //以下类似 para=new SqlParameter("@Name",SqlDbType.VarChar,16) para.Value=Name com.Parameters.Add(para) ...然后就可以执行数据库 *** 作了。
-----------------------------------
或者用数组
1.arr为数组,数组中的对象类型是SqlParameter2.SqlParameter数组添加方法:
protected void Button1_Click(object sender, EventArgs e)
{
string strSql="insert into Invoice_Rebate_Customer_L (FORM_ID,LINE_NO) values (@formNo,@lineNo)"
SqlParameter[] paras =new SqlParameter[2]
paras[0] = new SqlParameter("@formNo", SqlDbType.NVarChar)
paras[0].Value = "88888"
paras[1] = new SqlParameter("@lineNo", SqlDbType.Int)
paras[1].Value = 8
ExecuteSql(strSql, paras, CommandType.Text)
}
void ExecuteSql(string strSql,SqlParameter[] paras,CommandType cmdType)
{
SqlConnection con = new SqlConnection("Server=aukm2Database=BUUID=buuserPWD=buinfo")
con.Open()
SqlCommand cmd = new SqlCommand()
cmd.Connection = con
cmd.CommandType = cmdType
cmd.CommandText = strSql
foreach (SqlParameter p in paras)
{
cmd.Parameters.Add(p)
}
cmd.ExecuteNonQuery()
con.Close()
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)