存储过程正确,执行正常,但在程序中执行后数据库无效果,其中无报错,无异常,求解答!
赋值和调用:
- C# code
string runner = dt.Rows[0]["name"].ToString(); string message = "123"; SqlParameter[] pars={ new SqlParameter("@runner",runner), new SqlParameter("@message",message) }; common.common.executeNoQuery("addLog", true, pars);
调用函数common类:
- C# code
/// <summary> /// 执行无返回值的sql语句或存储过程 /// </summary> /// <param name="cmdText">要执行的sql语句或存储过程</param> /// <param name="IsStroed">true:存储过程,false:sql语句</param> /// <param name="parameters">执行时所需要的参数</param> public static void executeNoQuery(string cmdText,bool IsStroed,params SqlParameter[] parameters) { sqlHelp.sqlHelp.executeNoQuery(cmdText, IsStroed, parameters); }
方法sqlhelp类:
- C# code
/// <summary> /// 执行无返回值的sql语句或存储过程 /// </summary> /// <param name="cmdText">要执行的sql语句或存储过程</param> /// <param name="IsStroed">true:存储过程,false:sql语句</param> /// <param name="parameters">执行时所需要的参数</param> public static void executeNoQuery(string cmdText,bool IsStroed,params SqlParameter[] parameters) { using (SqlConnection conn = getConn()) { if (conn.State == ConnectionState.Closed || conn.State == ConnectionState.Broken) { conn.Open(); } SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = cmdText; if (IsStroed == true) { cmd.CommandType = CommandType.StoredProcedure; } cmd.Parameters.Clear(); foreach (SqlParameter par in parameters) { cmd.Parameters.Add(par); } int i= cmd.ExecuteNonQuery(); cmd.Dispose(); } }
求救!在线等待!!
[解决办法]
是不是因为这个赋的值是固定的,其实更新成功了。
string runner = dt.Rows[0]["name"].ToString();
string message = "123";
把这两个参数的值改成其它值试试。
[解决办法]
insert into t_message([runner],[datetime],[message])
改成上面的试试