繁体   English   中英

oledb异常未在标准表达式中的c#数据类型不匹配中处理

[英]oledb exception was unhandled in c# Data type mismatch in criteria expression

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(); :( 我该怎么办?

我觉得我的插入查询命令是错误的,因为它很笨拙

看起来很奇怪,将参数名称从@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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM