我用了同一种数据库连接,
private void Button1_Click(object sender, System.EventArgs e)
{
myConnection = new SqlConnection("server=.;database=FourseasJobs;user id=sa;password="); 
SqlCommand insertCmd = new SqlCommand("insert into myjobs_cominfor(comid,comname,tel,email,pwd,cominfor,regdate,address) Values(@comid,@comname,@tel,@email,@pwd,@cominfor,@regdate,@address)",myConnection); insertCmd.Parameters.Add("@comid",SqlDbType.NChar,20);
insertCmd.Parameters["@comid"].Value = TextBox1.Text; insertCmd.Parameters.Add("@comname",SqlDbType.NChar,20);
insertCmd.Parameters["@comname"].Value = TextBox3.Text; insertCmd.Parameters.Add("@tel",SqlDbType.NChar,20);
insertCmd.Parameters["@tel"].Value = TextBox4.Text; insertCmd.Parameters.Add("@email",SqlDbType.NChar,10);
insertCmd.Parameters["@email"].Value = TextBox5.Text; insertCmd.Parameters.Add("@pwd",SqlDbType.NChar,20);
insertCmd.Parameters["@pwd"].Value =  TextBox7.Text; insertCmd.Parameters.Add("@cominfor",SqlDbType.NChar,10);
insertCmd.Parameters["@cominfor"].Value = TextBox6.Text.Replace("'", ""); insertCmd.Parameters.Add("@regdate",SqlDbType.NChar,20);
insertCmd.Parameters["@regdate"].Value =  DateTime.Now.ToString();  insertCmd.Parameters.Add("@address",SqlDbType.NChar,20);
insertCmd.Parameters["@address"].Value =  Textbox8.Text; try
{
insertCmd.Connection.Open();
insertCmd.ExecuteNonQuery();
insertCmd.Connection.Close();

if(!this.IsStartupScriptRegistered("start"))
{
this.RegisterStartupScript("start","<script>alert('恭喜您,成功注册成为会员!');</script>");
}
}
catch
{

this.RegisterStartupScript("start","<script>alert('注册失败!');</script>");
}
}这个可以插入数据库成功;我继续用这上面的方法使用
private void Button1_Click(object sender, System.EventArgs e)
{
// SqlCommand cm;
// String StrConn="server=.;database=FourseasJobs;user id=sa;password=";
// SqlConnection cn=new SqlConnection(StrConn);
// cn.Open();
// string sd="insert into myjobs_myhrmsg(userid,comid,content,sendtime,jobname) Values(@userid,@comid,@content,@sendtime,@jobname";
// cm=new SqlCommand(sd,cn);
//
myConnection = new SqlConnection("server=.;database=FourseasJobs;user id=sa;password="); 
SqlCommand insertCmd = new SqlCommand("insert into myjobs_myhrmsg(userid,comid,content,sendtime,jobname) Values(@userid,@comid,@content,@sendtime,@jobname,)",myConnection); insertCmd.Parameters.Add("@userid",SqlDbType.NChar,20);
insertCmd.Parameters["@userid"].Value = Label1.Text; insertCmd.Parameters.Add("@comid",SqlDbType.NChar,20);
insertCmd.Parameters["@comid"].Value =Label14.Text; insertCmd.Parameters.Add("@content",SqlDbType.NChar,10);
insertCmd.Parameters["@content"].Value = TextBox2.Text.Replace("'", ""); insertCmd.Parameters.Add("@sendtime",SqlDbType.NChar,10);
insertCmd.Parameters["@sendtime"].Value = DateTime.Now.ToShortDateString(); insertCmd.Parameters.Add("@jobname",SqlDbType.NChar,10);
insertCmd.Parameters["@jobname"].Value = Label13.Text; try
{
insertCmd.Connection.Open();

insertCmd.ExecuteNonQuery();
insertCmd.Connection.Close();

if(!this.IsStartupScriptRegistered("start"))
{
this.RegisterStartupScript("start","<script>alert('恭喜你,你已经成功的发送了面试邀请!');</script>");
}
}
catch
{
this.RegisterStartupScript("start","<script>alert('发送不成功');</script>"); }
这个确插不进数据库我就郁闷了为什么同样的方法用于同一种数据操作却出现2中不同的情况。。高手可以指点下吗。。怎么都想不通

解决方案 »

  1.   

    没报错呀。。只是第2个Button会弹出
    this.RegisterStartupScript("start"," <script> alert('发送不成功'); </script> "); 
      

  2.   

    他都执行catch里面的语句了还没报错
    response.write(ex.message)
    (vb 的代码)
      

  3.   

    是真的我看了下,在执行这句的时候SqlCommand   insertCmd   =   new   SqlCommand("insert   into   myjobs_myhrmsg(userid,comid,content,sendtime,jobname)   Values(@userid,@comid,@content,@sendtime,@jobname,)",myConnection); 
    这个有点问题, IsShiloh <错误: 发生 {System.NullReferenceException} 类型的异常> bool
    ServerVersion <错误: 发生 {System.InvalidOperationException} 类型的异常> string
    这2个。。但是运行第1个Buttond的时候也有这 个错,第1个可以执行呀,第2个Button执行到
    insertCmd.ExecuteNonQuery(); 
    的时候几跳到CATCH里面了就是这样
      

  4.   

    你可以编译成功?你的代码里在同一个method里, 你声明 了两个相同名字的函数
    SqlCommand   insertCmd   =   new   SqlCommand("insert   into   myjobs_cominfor(comid,comname,tel,email,pwd,cominfor,regdate,address)   Values(@comid,@comname,@tel,@email,@pwd,@cominfor,@regdate,@address)",myConnection); 
    ---------------------------------------------------------------------------------
    SqlCommand   insertCmd   =   new   SqlCommand("insert   into   myjobs_myhrmsg(userid,comid,content,sendtime,jobname)   Values(@userid,@comid,@content,@sendtime,@jobname,)",myConnection); 
      

  5.   

    把try catch 先注释掉,看看详细错误嘛。
      

  6.   

    SqlCommand   insertCmd   =   new   SqlCommand("insert   into   myjobs_myhrmsg(userid,comid,content,sendtime,jobname)   Values(@userid,@comid,@content,@sendtime,@jobname,)",myConnection);
      

  7.   

    楼上正解,
    sql中多了个‘,’号。
    LZ遇到问题后可以先把错误获取出来。可以把
    TRY。catch去掉。
    或吧异常打印出来看看错误在哪里。
      

  8.   

    ("insert   into   myjobs_myhrmsg(userid,comid,content,sendtime,jobname)   Values(@userid,@comid,@content,@sendtime,@jobname,)
    去点后面逗号试试
      

  9.   

    ,@jobname,)多个 逗号,来得有点晚了。
      

  10.   

    低级错误啊,sql基本功不扎实,该打PP