为了账号安全,请及时绑定邮箱和手机立即绑定

c#调试获取标量变量错误

c#调试获取标量变量错误

C#
POPMUISE 2022-01-09 10:54:32
我需要你的帮助。我已经创建了表单并将一些数据插入到 SQL Server 中。但我总是得到一个错误。我想我在创建 SQL Server 连接时犯了一个错误。代码如下OleDbConnection con = new OleDbConnection("Provider=sqloledb;SERVER=NEVZAT-PC;DATABASE=DENEME;User ID=11;password=1111;");OleDbCommand cmd = new OleDbCommand("insert into isemri (isemrino,isyeri,isalani,isemridet,bastar,bittar)values(@isemrino,@isyeri,@isalani,@isemridet,@bastar,@bittar)", con);cmd.Parameters.AddWithValue("@isemrino", Convert.ToInt32(textBox1.Text));cmd.Parameters.AddWithValue("@isyeri", comboBox1.Text);cmd.Parameters.AddWithValue("@isalani", comboBox2.Text);cmd.Parameters.AddWithValue("@isemridet", richTextBox1.Text);cmd.Parameters.AddWithValue("@bastar", dateTimePicker1.Value);cmd.Parameters.AddWithValue("@bittar", dateTimePicker2.Value);con.Open();cmd.ExecuteNonQuery();con.Close();我得到这个错误:
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

在我看来,问题在于您在查询中使用了未声明的变量,您必须在插入之前声明变量,或者使用其他不使用变量的方法。


查看完整回答
反对 回复 2022-01-09
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

您收到“必须声明标量变量”错误。

OleDb 不支持命名参数。我认为这是导致错误的原因。相反,在 SQL 查询中,使用?而不是参数名称,并确保添加的参数的顺序与它们在查询中出现的顺序相匹配。

  • 应用?登录插入查询

  • 尝试using声明

  • [可选步骤:] 应用所有参数,也用于DBNull.Value表字段的情况nullable

请检查以下代码:

OleDbConnection con = new OleDbConnection("Provider=sqloledb;SERVER=NEVZAT-PC;DATABASE=DENEME;User ID=11;password=1111;");


using(OleDbCommand cmd = new OleDbCommand("insert into isemri (isemrino,isyeri,isalani,isemridet,bastar,bittar) values (?, ?, ?, ?, ?, ?)", conn))

{

       cmd.Parameters.AddWithValue("@isemrino", Convert.ToInt32(textBox1.Text));

       cmd.Parameters.AddWithValue("@isyeri", comboBox1.Text ?? DBNull.Value);

       cmd.Parameters.AddWithValue("@isalani", comboBox2.Text ?? DBNull.Value);

       cmd.Parameters.AddWithValue("@isemridet", richTextBox1.Text ?? DBNull.Value);

       cmd.Parameters.AddWithValue("@bastar", dateTimePicker1.Value ?? DBNull.Value);

       cmd.Parameters.AddWithValue("@bittar", dateTimePicker2.Value ?? DBNull.Value);



       con.Open();

       cmd.ExecuteNonQuery();

       con.Close();

}


查看完整回答
反对 回复 2022-01-09
  • 2 回答
  • 0 关注
  • 256 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号