c# - Winforms:运行 oledb 连接时出错(可安装的 Isam,未为命令对象设置 Commandtext)
问题描述
我的情况是,一旦我按下按钮,代码将从 MS Access 中检索EquipmentBrand
与. 我能够通过课程检索序列号并使其自动完成。但是,现在我在检索设备品牌和类型时遇到问题。我尝试了两个代码,但都有不同的错误。这是我的访问屏幕截图:MS Access screenshotEquipmentType
SerialNumber
oledb
对于第一个错误,我已将平台更改为 x86。
第一个错误:在线上找不到可安装的 Isamconnection.Open();
private void Form1_Load(object sender, EventArgs e)
{
oledb da = new oledb();
textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteCustomSource = da.Loadserialnum();
}
private void button2_Click(object sender, EventArgs e)
{
var connection = new OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;Data Source = C:\\Users\\equipment.accdb");
var command = connection.CreateCommand();
{
command.Parameters.AddWithValue("SerialNumber", (textBox1.Text));
connection.Open(); //error here
var reader = command.ExecuteReader();
while (reader.Read())
{
textBox2.Text = reader["EquipmentBrand"].ToString();
textBox3.Text = reader["EquipmentType"].ToString();
}
}
}
对于第二个错误,我已更改Data Source
(另一种适用于遇到我的第一个问题的其他人的方法),但出现了一个新错误:命令文本未为命令对象设置行command.ExecuteReader
希望能得到一些帮助谢谢!
解决方案
由于OleDbConnection.CreateCommand()
返回的是 的实例OleDbCommand
,因此需要CommandText
在打开连接之前将属性设置为要执行的查询字符串,否则会抛出Command text was not set for command object错误。下面是一个使用CommandText
属性的例子:
private void button2_Click(object sender, EventArgs e)
{
var connection = new OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;Data Source = C:\\Users\\equipment.accdb");
var command = connection.CreateCommand();
// query string example
command.CommandText = "SELECT * FROM TableName WHERE SerialNumber = ?";
command.Parameters.AddWithValue("SerialNumber", (textBox1.Text));
connection.Open(); // open the connection
var reader = command.ExecuteReader();
while (reader.Read())
{
textBox2.Text = reader["EquipmentBrand"].ToString();
textBox3.Text = reader["EquipmentType"].ToString();
}
}
推荐阅读
- javascript - 删除 div 折叠时的链接文本?
- reactjs - NextJS:如何从 url 导航到自定义路径?
- android - 无法将 java.lang.string 类型的对象转换为 Friends 类型
- python - 如何在 PyQt5 的窗口内调整 QWebEnginePage 的大小?
- java - cPanel 中 EasyApache 上的 Tomcat 突然停止工作,在所有页面上抛出 404
- android - 广播重负载时的最佳做法是什么?
- autodesk-forge - 无法为大型模型提取对象树
- c++ - 在不应实例化的模板函数中报告错误
- laravel - 具有多个 where 条件的 Laravel 动态查询
- python - 如何使用矩形补丁在python中创建圆形几何图形