string sqlstr = "INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) "
+"VALUES ('"+tbName.Text+"',"+tbAge.Text+");";以上生成的sql字符串在tbName.Text和tbAge.Text不为空的时候可以正常执行,生成字符串如下:
INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) VALUES ("ABC",18);
但是在tbAge.Text为空的时候会生成如下不能执行的sql字符串:
INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) VALUES ("ABC",);可以通过SqlCommand来解决:
string sqlstr2 = "INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) "
+"VALUES (@xm,@age);";
SqlCommand sqlcom = new SqlCommand(sqlstr2);
sqlcom.Parameters.Add("@xm", SqlDbType.NVarChar).Value = tbName.Text;
sqlcom.Parameters.Add("@age", SqlDbType.Int).Value = tbAge.Text;但是我的页面有三个功能模块要执行数据库的INSERT操作,我把每个模块写为一个函数,该函数都返回可用于执行的sql字符串,然后在页面的submit Button 事件中连接这三个sql字符串,再用数据库的Transaction一次执行,因此就没法使用sqlcommand来串联sql字符串。对于众多的TextBox,有的不能为空,我加了验证控件,有的可以为空,就会产生类似于INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) VALUES ("ABC",)这样的错误sql。求解决办法?
+"VALUES ('"+tbName.Text+"',"+tbAge.Text+");";以上生成的sql字符串在tbName.Text和tbAge.Text不为空的时候可以正常执行,生成字符串如下:
INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) VALUES ("ABC",18);
但是在tbAge.Text为空的时候会生成如下不能执行的sql字符串:
INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) VALUES ("ABC",);可以通过SqlCommand来解决:
string sqlstr2 = "INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) "
+"VALUES (@xm,@age);";
SqlCommand sqlcom = new SqlCommand(sqlstr2);
sqlcom.Parameters.Add("@xm", SqlDbType.NVarChar).Value = tbName.Text;
sqlcom.Parameters.Add("@age", SqlDbType.Int).Value = tbAge.Text;但是我的页面有三个功能模块要执行数据库的INSERT操作,我把每个模块写为一个函数,该函数都返回可用于执行的sql字符串,然后在页面的submit Button 事件中连接这三个sql字符串,再用数据库的Transaction一次执行,因此就没法使用sqlcommand来串联sql字符串。对于众多的TextBox,有的不能为空,我加了验证控件,有的可以为空,就会产生类似于INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) VALUES ("ABC",)这样的错误sql。求解决办法?
+"VALUES ('"+tbName.Text+"','"+tbAge.Text+"');";
难道要重写个TextBox控件,加上个DefaultValue属性?
+"VALUES ('"+tbName.Text+"','"+(tbAge.Text == "" ? "20" : tbAge.Text)+"');";
Moddel实体赋值属性
本来想详细了解那个PetShop后再开展项目的,无奈里面的东西太多不能理解。
于是自己摸索着直接操作sql来做了。我这个项目比较小,纯属入门的。
cnblogs里有很多介绍petshop文章
Linux源代码长了去了。
他们都没有水平。
sqlstr+="('"+tbName.Text+"','"+age+"');";
string sqlstr = "INSERT INTO [dbo].[ABC] ([ID],[NAME],[AGE]) "
+"VALUES ('"+tbName.Text+"','"+tbAge.Text+"');";
private string age; public string Age
{
get { return age; }
set
{
age == "" ? 20 : age = value; }
}ok?