c#中没有处理oledb异常

本文关键字:oledb 异常 处理 | 更新日期: 2023-09-27 17:54:21

foreach (object selectedItem in lstProjectMemberID.SelectedItems)
{
    DataRowView dr = (DataRowView)selectedItem;
    String result = dr["user_id"].ToString();
    int intResult = int.Parse(result);
    cmd.CommandText = "INSERT INTO project_users(project_id,user_id) VALUES (@newProjID.Text,@userID)";
    cmd.Parameters.Add(newProjID.Text, OleDbType.Integer).Value = newProjID.Text;
    cmd.Parameters.AddWithValue("@userID", intResult);
    cmd.ExecuteNonQuery();
 }

我有这个代码,我得到错误数据类型不匹配的标准表达式。在这部分cmd.ExecuteNonQuery();我该怎么办呢?

我想我的插入查询命令是错误的,因为结果

c#中没有处理oledb异常

看起来很奇怪,将参数名称从@newProjID.Text更改为@newProjID:

cmd.CommandText = "INSERT INTO project_users(project_id,user_id) VALUES (@newProjID,@userID)";
cmd.Parameters.Add("@newProjID", OleDbType.Integer).Value = newProjID.Text;

但是如果newProjID.Text是一个字符串,您应该首先将其解析为int:

cmd.Parameters.Add("@newProjID", OleDbType.Integer).Value = int.Parse(newProjID.Text);