补充:
最后方法中: int i= cmd.ExecuteNonQuery();
断点I值为1,但就是数据库中无效果。。

解决方案 »

  1.   

    抱歉,比较着急,最终的忘掉了
    存储过程:
    ALTER PROCEDURE dbo.addLog

    @runner nvarchar(100),
    @message nvarchar(250)
    AS
    /* SET NOCOUNT ON */
    insert into t_message(runner,datetime,message) 
    values(
    @runner,getdate(),@message
    )
    RETURN
      

  2.   

    是不是因为这个赋的值是固定的,其实更新成功了。
    string runner = dt.Rows[0]["name"].ToString();
    string message = "123";
    把这两个参数的值改成其它值试试。
      

  3.   

    不会,数据库没做限定,如果单独执行存储过程的话是可以的。
    现在我把存储过程直接用sql语句写出来,结果还是不行,I=1,但是数据库中没有添加。
    把sql语句复制到查询里面就可以运行。纠结。。
      

  4.   

    insert into t_message([runner],[datetime],[message]) 改成上面的试试
      

  5.   

    改过了,不行。。最终简化成这个,还是一样没效果,不报错,拿到数据中执行正常。string connstr=@"Data Source=YISHUIHAN\SQLEXPRESS;AttachDbFilename='D:\MY DOCUMENTS\VISUAL STUDIO 2010\PROJECTS\HOSMANAGESYSTEM\HOSMANAGESYSTEM\BIN\DEBUG\DATA\HOSMANAGESYSTEM.MDF';Integrated Security=True;User Instance=True";            string cmdtext = "insert into t_users(name,password) values('123','123')";
                
                using (SqlConnection conn=new SqlConnection(connstr))
                {
                    SqlCommand cmd = new SqlCommand(cmdtext, conn);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
                Console.WriteLine("12");