看看sql语句的返回值,出错的语句用查询分析器执行一下,看看是否为重复插入或其它错误返回0值。
解决方案 »
- 大家能不能帮忙解释一下这段代码的执行过程
- csdn用户关注功能的数据库是什么样子的?
- winform:用Socket下传文件
- 如何获取pda的ip地址?
- “/”应用程序中的服务器错误 里的 / 是什么意思?
- 正则表达式解释
- 用DataGrid显示两个主从表的时候,如果某些父记录没有子记录的话,前面的+依然还在?怎样消除?
- CompareValidator的问题
- 高分求Visual Studio Tools For Office正式版
- asp.net MVC3 partial Model 数据读不出来
- FtpWebRequest问题~错误信息为“请求的URI对此FTP命令无效”
- RDLC分组取部分数据该怎么分组
SqlCommand com = new SqlCommand();
string sql = string.Format("insert into UDS_DEPARTMENTFILE");
com.CommandText = sql + "(DEPARTMENTID, DOCUMENTID, DOCUMENTNAME, SAVEFILENAME, ADDTIME, UPBY, SUMMARY, CHECKED) values(@DEPARTMENTID, @DOCUMENTID, @DOCUMENTNAME, @SAVEFILENAME, @ADDTIME, @UPBY, @SUMMARY, @CHECKED)"; com.Parameters.AddWithValue("@DEPARTMENTID", departId);
com.Parameters.AddWithValue("@DOCUMENTID", fnumber);
com.Parameters.AddWithValue("@DOCUMENTNAME", filename);
com.Parameters.AddWithValue("@SAVEFILENAME", savefilename);
com.Parameters.AddWithValue("@ADDTIME", dateTime);
com.Parameters.AddWithValue("@UPBY", userName);
com.Parameters.AddWithValue("@SUMMARY", summary);
com.Parameters.AddWithValue("@CHECKED", "审核中");
db.ExecuteCmd(com);这个插入语句是没有错的吧 我现在都怀疑数据库有问题了
你怎么知道每次都成功了?
public bool ExecuteCmd(SqlCommand Cmd)
{
Cmd.Connection = m_connection;
try
{
Cmd.ExecuteNonQuery();
return true;
}
catch (System.Exception ex)
{
CommMethods.CMethods.WriteErrorLog(ex.Message + "---获得ExecuteCmd在ProjectManagement");
return false;
}
}没有catch到错误 而且我把写不了的语句放到查询分析器里面执行是可以写入到数据库的
http://topic.csdn.net/u/20120509/17/05b15b2d-3791-4422-bc91-ed0e4f8929cf.html
你给表名后面加个空格
当ret=0时,说明Insert into语句插入失败,将这时失败的SQL语句放到查询分析器中执行。
1.先看看你的主键有没有冲突。可以把你的SQL语句放在查询分析器里面看一下是否能成功。
2.用执行ExecuteNonQuery()的返回值来判断是否执行成功。返回0的话就是执行失败。
com.CommandText = sql + "(DEPARTMENTID, DOCUMENTID, DOCUMENTNAME, SAVEFILENAME, ADDTIME, UPBY, SUMMARY, CHECKED) values(@DEPARTMENTID, @DOCUMENTID, @DOCUMENTNAME, @SAVEFILENAME, @ADDTIME, @UPBY, @SUMMARY, @CHECKED)";
把这个换一个方法试试呢
1.你没有判断是否插入成功,这个是通过cmd.ExecuteNonQuery()的返回值来判断的,0为没有插入成功,1为成功,你直接返回true是错的
2.你其实是可以写成存储过程的,在里面加个事务来接收错误比较好
3.你检查看看你的数据类型是否一致,并检查你的ID号是否是主键,又自动增长之类的
把语句放到查询分析器运行一下,可能是null的问题,插不进去