我正在使用C#.NET与Windows窗体项目中的(.mdb)MS Access数据库文件进行通信。
我以前在dataGridView中显示[date],但是客户端请求了军事日期(YYYY-MM-DD)格式。
代码:
public void textBox1_KeyUp(object sender, KeyEventArgs e)
{
string cmd = "SELECT TOP 1 [vial], [experiment], [field_vial], [host_or_trap], [capture->storage], [fungus], [locality], [county], [province], [Country], ( CStr(year([date])) & CStr(month([date])) & CStr(day([date])) ), [VIAL_note], [collector/museum], ( CStr(year([date collected])) & CStr(month([date collected])) & CStr(day([date collected])) ), [Field1] FROM [COLLECTIONS] WHERE vial LIKE '%" + textBox1.Text + "%'";
OleDbCommand vialsearch = new OleDbCommand(cmd, this.thefile.dbo);
OleDbDataAdapter vialadapter = new OleDbDataAdapter(vialsearch);
DataSet vials = new DataSet();
vialadapter.Fill(vials, "INIT");
this.dataGridView1.DataSource = vials.Tables["INIT"];
vialadapter.Dispose();
}
使用Microsoft Jet OLEDB 4.0时,错误消息将“object”更改为“string” - 所有其他措辞都完全相同。目前正在使用Microsoft ACE OLEDB 12.0。
怎么办?