StringBuilder在C#中是用来拼接字符串的类,这两句代码的意思很简单,都是实例化一个字符串,仅此而已,字符串的内容其实就是一句SQL语句。
//向ColdAirMeterParameter表中插入一条记录,FieldName, WorkShop, WorkUnit, Site, Style这几个表示这张表的列,@FieldName, @WorkShop, @WorkUnit, @Site, @Style声明5个参数,分别来对应前面列的值。
INSERT INTO ColdAirMeterParameter(FieldName, WorkShop, WorkUnit, Site, Style) VALUES(@FieldName, @WorkShop, @WorkUnit, @Site, @Style)
//也是一条sql语句,表示删除ColdAirMeterParameter中ID等于@ID的这条记录,至于这个@ID到底等于多少,要看你的后续代码对它的赋值。
DELETE FROM ColdAirMeterParameter WHERE ID = @ID
够详细了吧!
这些简单点可以写成这样:
string sql="INSERT INTO ColdAirMeterParameter(FieldName, WorkShop, WorkUnit, Site, Style) VALUES(@FieldName, @WorkShop, @WorkUnit, @Site, @Style);"---其中@xx是参数
string sql="DELETE FROM ColdAirMeterParameter WHERE ID = @ID"--其中@xx是参数
给你段具体的参数调用代码:
if (cmdParms != null)
{
foreach (DbParameter parm in cmdParms)
{
// 如果存在参数,则表示用户是用参数形式的SQL语句,可以替换
parm.ParameterName = parm.ParameterName.Replace("?", "@").Replace(":", "@");
if (parm.Value == null)
parm.Value = DBNull.Value;
cmd.Parameters.Add(parm);
}
}
1、第一段的意思是:向ColdAirMeterParameter这个表里插入数据,字段依次是FieldName, WorkShop, WorkUnit, Site, Style,值呢就是后面带@的哪些,因为这些是参数化查询,还需要addSqlParameters();
2、二段意思是:根据id删除这个表 ColdAirMeterParameter,也就是这个id行的行数据
这里没必要用StringBuilde ,用string 就行了
使用参数化查询,执行的时候要使用salParams.