C#生成SqlServer插入语句,给Values中的每个字段用变量赋值,如果变量为空且类型为int则出现【,,】的情况
出现两个逗号相连的情况,那么数据库会报错。如果用NULL替换,表中的值是"NULL",我想让表值为空(即没有任何文字),请问Values中的变量应该如何赋值?privat...
出现两个逗号相连的情况,那么数据库会报错。如果用NULL替换,表中的值是"NULL",我想让表值为空(即没有任何文字),请问Values中的变量应该如何赋值?
private void foo()
{
string str1 = "";
string str2 = "";
string sql = "insert into table(a,b,c) values("+str1+","+str2+",'str1和str2均为int或decimal类型')";
/*这是错误的SQL语句,也不希望出现【NULL,NULL,''】的情况*/
}
注:table()中的字段不可以省略,会出现其他状况。。 展开
private void foo()
{
string str1 = "";
string str2 = "";
string sql = "insert into table(a,b,c) values("+str1+","+str2+",'str1和str2均为int或decimal类型')";
/*这是错误的SQL语句,也不希望出现【NULL,NULL,''】的情况*/
}
注:table()中的字段不可以省略,会出现其他状况。。 展开
4个回答
展开全部
连接时候判断一下str是不是null,如果是就用空字符串代替。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string str1 = "";
string str2 = "";
string str3="";
str1=(str1==""?"null",str1);
str2=(str2==""?"null",str2);
str3=(str3==""?"null",str3);
string sql =string.Format( "insert into table(a,b,c) values({0},{1},{2})",str1,str2,str3);
//前提是你的数据库中字段是int等数字类型的,并且设置成了允许为空。
string str2 = "";
string str3="";
str1=(str1==""?"null",str1);
str2=(str2==""?"null",str2);
str3=(str3==""?"null",str3);
string sql =string.Format( "insert into table(a,b,c) values({0},{1},{2})",str1,str2,str3);
//前提是你的数据库中字段是int等数字类型的,并且设置成了允许为空。
追问
string str1="";
//那么
str1=(str1==""?"null",str1);//的结果一定是
str1="null";//那么
string sql = "insert into table(a) values(null)";
/*在数据表中该字段的值显示为“NULL”,我需要的是该字段为空(即没有任何字符,包括NULL在内),就像没有对该字段做添加操作一样*/
追答
那个null是你的sql管理器的显示,并不是真的数据,即使你什么也不做,只要添加了一行,那里必然会显示null,如果说你连这个null也不想显示,那只能看看管理器有没有这种设置了(虽然没有任何意义)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“+str1+” 全部改成'"+str1+"'
追问
经你提醒,今天试了下,确实发现了问题,如果手动赋值str1=NULL,数据表显示的是NULL,而如果真的为空,是这种形式的:,相比之下,我赋值的方法明显是错误的,追加10分
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表中该列设成可为空呢
追问
因为必须给insert语句values中的变量赋值,如果变量为空,那么values中会出现“,,”两个逗号,中间没有值的情况,如果变量赋值NULL,那么数据表中会出现NULL,不希望出现这种有NULL的情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询