c#odbcCommand参数化中的错误 [英] Error in c# odbcCommand parameterization

查看:135
本文介绍了c#odbcCommand参数化中的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

执行下面的代码给我错误。 列用户名不能为空

值在变量中传递。但我认为 OdbcCommand 语句没有准备好。

Executing the below code gives me error. Column 'Username' cannot be null
Values are being passed in the variables. But I think the OdbcCommand statement is not prepared properly.

    OdbcCommand cmd = new OdbcCommand 
    { 
    CommandText = 
    "INSERT INTO orders(username,name,email,address,contact_number,html_email)
    VALUES(@username,@name,@email,@address,@contact_number,@html_email)",

    Connection = Con 
    };

    cmd.Parameters.AddWithValue("@username", username);
    cmd.Parameters.AddWithValue("@name", name);
    cmd.Parameters.AddWithValue("@email", email);
    cmd.Parameters.AddWithValue("@address", add);
    cmd.Parameters.AddWithValue("@contact_number", contact);
    cmd.Parameters.AddWithValue("@html_email", table);

    billid = cmd.ExecuteScalar().ToString();


推荐答案

OdbcCommand 不支持命名参数语法,而应该使用问号占位符:

OdbcCommand does not support named parameter syntax, instead you should use a question mark placeholder:

OdbcCommand cmd = new OdbcCommand 
{ 
CommandText = 
"INSERT INTO orders(username,name,email,address,contact_number,html_email)
VALUES(?, ?, ?, ?, ?, ?)",

Connection = Con 
};

cmd.Parameters.AddWithValue("@p1", username);
cmd.Parameters.AddWithValue("@p2", name);
cmd.Parameters.AddWithValue("@p3", email);
cmd.Parameters.AddWithValue("@p4", add);
cmd.Parameters.AddWithValue("@p5", contact);
cmd.Parameters.AddWithValue("@p6", table);

int affectedRecords = cmd.ExecuteNonQuery();

这篇关于c#odbcCommand参数化中的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆