读书人

这段简单的数据库操作的代码小弟我调了

发布时间: 2012-01-19 00:22:28 作者: rapoo

这段简单的数据库操作的代码我调了好久 不知道哪错了
protected void btn_submit_Click(object sender, EventArgs e)
{
string strconn = ConfigurationSettings.AppSettings[ "dsn "];

SqlConnection cn = new SqlConnection(strconn);
cn.Open();
SqlCommand cm = new SqlCommand( "ContractModifyForControl ", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add( "@TID ", SqlDbType.VarChar);
cm.Parameters[ "@TID "].Value = tbx_tid.Text.ToString();
SqlCommand cm1 = new SqlCommand( "ContractProgressInforAdd ", cn);
cm1.CommandType = CommandType.StoredProcedure;
cm1.Parameters.Add( "@ITID ", SqlDbType.VarChar);
cm1.Parameters.Add( "@IDate ", SqlDbType.VarChar);
cm1.Parameters[ "@ITID "].Value = tbx_tid.Text.ToString();
cm1.Parameters[ "@IDate "].Value = System.DateTime.Now;
if (rtn_finished.Checked == true)
{
cm.Parameters.Add( "@TReadyMoney ", SqlDbType.Money);
cm.Parameters.Add( "@TState ", SqlDbType.Int);
cm.Parameters[ "@TReadyMoney "].Value = Convert.ToDouble(tbx_ttotalmoney.Text.ToString());
cm.Parameters[ "@TState "].Value = 2;
cm.ExecuteNonQuery();

cm1.Parameters.Add( "@IPay ", SqlDbType.Money);
cm1.Parameters.Add( "@IDescribe ", SqlDbType.VarChar);
cm1.Parameters[ "@IPay "].Value = Convert.ToDouble(tbx_ttotalmoney.Text.ToString()) - Convert.ToDouble(tbx_treadymoney.Text.ToString());
cm1.Parameters[ "@IDescribe "].Value = tbx_describe.Text.ToString();

cm1.ExecuteNonQuery();


}

报错内容是 对象名 'TMS.dbo.ContractProgressInfor ' 无效。
大家帮我分析一下 可能是哪里出问题

[解决办法]
检查在数据库中是否有 'TMS.dbo.ContractProgressInfor '数据表或者存储过程
[解决办法]
应该是你存储过程名称打错了吧。。检查一下数据库里面的存储过程名称!
[解决办法]
这个存储过程不存在吧?你到企业管理器里看看是否存在这个存储过程

[解决办法]
应该是存储过程的问题
[解决办法]
你应该要 确认 数据库TMS中

是否存在 ContractProgressInfor 这个 表或 存储过程
[解决办法]
看以下是否SqlDbType.VarChar改成SqlDbType.VarChar(20)试下

读书人网 >asp.net

热点推荐