m0_46820994 2020-08-20 17:06 采纳率: 0%
浏览 99
已采纳

利用timer控件定时写数据进入access数据库,编译成功,但是运行后报错:“System.Data.OleDb.OleDbException”类型的未经处理的异常在 System.Data.dll 中发生 其他信息: 标准表达式中数据类型不匹配。

public: System::Void OpenAccess() //连接数据库,在表格显示
{
String^ oleDBString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Office2019\MyProject\sensor.accdb;";
OleDbConnection^ os = gcnew OleDbConnection(oleDBString);
String^ sql = "select* from Sensor1";
DataSet^ ds = gcnew DataSet();
OleDbDataAdapter^ oleDbDataAdapter = gcnew OleDbDataAdapter(sql, os);
oleDbDataAdapter->Fill(ds,"Sensor1");
dataGridView1->DataSource = ds->Tables[0]->DefaultView;
os->Close();
}
private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e)
{
String^ text1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Office2019\MyProject\sensor.accdb;";
OleDbConnection^ conn = gcnew OleDbConnection(text1);
String^ txtCommand = "select Num,Time,Temperature,Humidity from Sensor1";
OleDbDataAdapter^ da = gcnew OleDbDataAdapter(txtCommand, conn);
DataSet^ ds = gcnew DataSet("ds");
da->Fill(ds, "Sensor1");
dataGridView1->DataSource = ds;
dataGridView1->DataMember = "Sensor1";
}
private: System::Void timer3_Tick(System::Object^ sender, System::EventArgs^ e) {
while (tbxHumi->Text != "" || tbxTemp->Text != "")
{
String^ text1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Office2019\MyProject\sensor.accdb;";
String^ text2 = "Insert Into Sensor1(Temperature,Humidity)Values('";
text2 += tbxTemp->Text + "','";
text2 += tbxHumi->Text + "')";
OleDbConnection^ conn = gcnew OleDbConnection(text1);
conn->Open();
OleDbCommand^ da = gcnew OleDbCommand();
da->CommandText = text2;
da->Connection = conn;
da->ExecuteNonQuery();
tbxTemp->Clear();
tbxHumi->Clear();
conn->Close();
}
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-20 21:37
    关注

    你的字段的数据类型,和传入的类型不匹配。修改下你的查询。字符串要引号,非字符串不要引号。

    问题解决的话,请及时采纳,包括之前的提问,这样才能继续详细回答你。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号