//学生表 新增
private void btnSadd_Click(object sender, System.EventArgs e)
{
if (txtSno.Text.Length==0)
{
MessageBox.Show("请输入学号!!");
return;
};
try
{
string strSno=txtSno.Text; 
if (FindSno(strSno))//按学号查找一个学生龙活虎
{
MessageBox.Show("学生:"+strSno+"已经存在!!\n  无法新增一个学生信息");
}
else//没有找到
{
//新增的操作

string strCommSQL="Data Source=localhost;User ID=szu;password=szu;Initial Catalog=szustudent";
sConn=new SqlConnection(strCommSQL);
sConn.Open();
//打开连接,执行Command,建立reader;

//string strSno=txtSno.Text; 
string strSname=txtSname.Text;
string strSsex=txtSsex.Text;
string strSbirth=txtSbirth.Text;
string strSclass=txtSclass.Text;
string strSmajor=txtSmajor.Text;
string strScolle=txtScolle.Text;
string strSaddi=txtSaddi.Text; string strAddOne="INSERT INTO student VALUES( Sno=001);";
SqlCommand AddOne=new SqlCommand(strAddOne,sConn);
AddOne.ExecuteNonQuery(); string strCommAdd="INSERT INTO student VALUES("
+"strSno"+","+"strSname"+","+"strSsex"+","+"strSbirth"+","+"strSclass"
+","+"strSmajor"+","+"strScolle"+","+"strSaddi"+");";
SqlCommand CommAdd=new SqlCommand(strCommAdd,sConn);
CommAdd.ExecuteNonQuery();
MessageBox.Show("新增了一个学生!"); }
}
catch
{
MessageBox.Show("程序异常!");
}

}
程序执行到“CommAdd.ExecuteNonQuery();”产生异常,
怎么办?
多谢了!

解决方案 »

  1.   

    出现什么错误啊?很有可能是你的SQL语句出现问题。设断点跟踪看看。
      

  2.   

    string strAddOne="INSERT INTO student VALUES( Sno=001);";
     
    这句有问题吧 
    insert 语句不是这样写的呀
    你后面的那句就写对的~~
      

  3.   

    数据sql语句有问题,请先在查询分析器中执行一下,看看有什么问题,
    或用Sql事件探测器跟踪一下。
      

  4.   

    你的insert语句后面不用加分号的,而且你的连接为什么那么早打开,完全可以在CommAdd.ExecuteNonQuery();
    前面打开,这样出了问题连接不是总要开着吗?