在注册类中:
要写入数据库10个参数,例如Parms[0],Parms[1],Parms[2],Parms[3],Parms[4],Parms[5],Parms[6],Parms[7],Parms[8],Parms[9].
如果在提交时,全部赋值的话,就会顺利的将所赋的值写入数据库,但是如果没有对其中的n个参数赋值,提交就会报错说"输入字符串格式不正确"!现在如果要将null赋给没有赋值的参数写入数据库.
请问如何使用循环语句写???给出具体例子,谢谢!
要写入数据库10个参数,例如Parms[0],Parms[1],Parms[2],Parms[3],Parms[4],Parms[5],Parms[6],Parms[7],Parms[8],Parms[9].
如果在提交时,全部赋值的话,就会顺利的将所赋的值写入数据库,但是如果没有对其中的n个参数赋值,提交就会报错说"输入字符串格式不正确"!现在如果要将null赋给没有赋值的参数写入数据库.
请问如何使用循环语句写???给出具体例子,谢谢!
{
if(Parms[i]!=null)
{
//赋值 }}
public static TextSave(SqlParmeter[] parms)
{
SqlCommand cmd = new ......;
foreach(SqlParmeter par in parms)
{
if(par.Value == null)
par.Value = DbNull.Value;
cm.Parmeters.Add(par);
}
}
public static TextSave(SqlParmeter[] parms)
{
SqlCommand cmd = new ......;
foreach(SqlParmeter par in parms)
{
if(par.Value == null)
par.Value = DbNull.Value;
cm.Parmeters.Add(par);
}
}
---------------这个例子不错。
string strSel="select ";
string strText="";
string[] arrVol=string[]{vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10}//字段名称
for(int i=0;i<Parms.Lenth;i++)
{
if (Parms[i]!=null&&Parms[i]!="")
{ strSql+=arrVol[i]+
}
}
string strSql="insert Tb(";
string strSelect="select ";
string strText="";
string[] arrValue=string[]{vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10}//字段名称
for(int i=0;i<Parms.Lenth;i++)
{
if (Parms[i]!=null&&Parms[i]!="")
{
if (strText=="")
{
strText+=arrValue[i];
strSelect+="'"+Parms[i].Trim()+"'";
}
else
{
strText+=","+arrValue[i];
strSelect+=",'"+Parms[i].Trim()+"'";
}
}
}
if (strText.Length>0)
{
strSql+=strText+") "+strSelect;
}
step2:写一个字符处理函数
private string ConvertNULL(object str)
{
if (str==null)
return DBNULL.Value;
else
return str.ToString();
}在给参数赋值的时候这样些
tempCommand.Paramaters.AddWith("@str",ConvertNULL(变量值));