C#中的sql语句,sql server2000,在线等待

来源:百度知道 编辑:UC知道 时间:2024/06/17 15:49:24
我的sql语句是String sql = "insert into [dbo].[provider] values " + ","+providername.Text + "," + address.Text + "," + tel.Text+","+fex.Text+","+lianxiren.Text+","+beizhu.Text;

我的表第一个字段是自动递增的ID,请问这句sql的错误在什么地方,谢谢!
不能用insert那用什么啊?请指教

String sql = "insert into [dbo].[provider] values( " + providername.Text + "," + address.Text + "," + tel.Text+","+fex.Text+","+lianxiren.Text+","+beizhu.Text+")";
并且列数和数据类型一定要对应

自增标识是不能插入的,应该把各列的列明写出来
还有,你直接拼接SQL语句是不安全的,最好用传值的方法,因为在三层架构里面,你在类库是无法调用控件的。
以上的语句可以这么写:
"INSERT INTO [DBO].[provider]([列名1],[列名2]……) VALUES(@参数1,@参数2……)";
cmd.Parameters.AddWithValue("@参数1",值) ;//这句代码是给上面“@参数”赋值,其中“@参数1”就是上面语句中的具体参数,值就是你想取得的值,如:providername.text(假如用三层架构的话,这里只能用参数传进来)
注:自增标识是不用插入也不能插入的,只要你在数据库中插入一条记录(除了ID),ID就会自动添加。
希望可以解决您的问题,如果还有疑问可以通过百度给我留言,我会尽力解决。

String sql = "insert into [dbo].[provider] values " + ","+providername.Text + "," + address.Text + "," + tel.Text+","+fex.Text+","+lianxiren.Text+","+beizhu.Text+"";

第一个字段ID是自增长列,那插入的时候就不用插入那个列了,但是就要指明表的列了
比如ID不是自增长列的时候