异常详细信息: System.Data.SqlClient.SqlException: '(' 附近有语法错误。求大神们指点。

SqlConnection con = new SqlConnection("server=.;database=NetworkCourseDB06;integrated security =SSPI;");
con.Open();
string sql = "insert into student values('"+xuehao+"','"+name+"',null'"+sex+"','"+chushengriqi+"','"+shoujihao+"','"+home+"','"+beizhu+"') ";

SqlCommand cmd = new SqlCommand(sql,con);
cmd.ExecuteNonQuery();
con.Close();
以上是代码。一直提示cmd.ExecuteNonQuery();有错误!!。
渣渣求


SQL操作的时候,只要是报语法错误,第一反应就是SQL拼错了。可以把sql变量的值打印出来,判断是哪里出错。

此外,不建议这么用,很容易错而且有SQL注入问题

下面这种写法要好一些


string sql = "insert into student values( @xh, @name, @tmp, @sex, @csrq, @sjh, @home, @bz )";

SqlParameter [] paras = {

    new SqlParameter( "@xh", xuehao ),

    new SqlParameter( "@name", name ),

    new SqlParameter( "@tmp", null ),

    new SqlParameter( "@sex", sex ),

    new SqlParameter( "@csrq", chushengriqi ),

    .......以下相同,略

};

cmd.Parameters.AddRange( paras );

cmd.ExecuteNonQuery();

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-24
这一句改为:
string sql = "insert into student values('"+xuehao+"','"+name+"',null,'"+sex+"','"+chushengriqi+"','"+shoujihao+"','"+home+"','"+beizhu+"')";
这样该试一下。追问

谢谢

追答

可以了吗?

追问

解决了。谢谢!

相似回答