OleDbConnection connect = new OleDbConnection ("Provider=Microsoft.ACE.OLEDB.12.0;Data source:C:\\Users\\PC\\Documents\\Visual Studio 2013\\Projects\\WindowsFormsApplication1\\WindowsFormsApplication1\\Firebird damagem0.accdb;Persist Security Info=False");
public partial class Form3 : Form
{
// OleDbconnection database
OleDbConnection connect = new OleDbConnection ("Provider=Microsoft.ACE.OLEDB.12.0;Data source:C:\\Users\\PC\\Documents\\Visual Studio 2013\\Projects\\WindowsFormsApplication1\\WindowsFormsApplication1\\Firebird damagem0.accdb;Persist Security Info=False");
public Form3()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Set up command
connect.Open();
OleDbConnection command = new OleDbConnection("SELECT [Damage columns], ID FROM [Copy of Firebird m0 damage]; connection");
command.ExecuteNonQuery();
DataTable ds = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter (command);
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
comboBox3.Items.Add(dr["[Damage columns]"].ToString());
}
connect.Close();
}
connect.Open()时发生错误;我已经做好了一切,但我仍然收到错误,有什么建议吗?
答案 0 :(得分:0)
此错误通常是由于连接字符串无效。
由于数据源路径中有空格,请尝试使用单引号将其包装起来。此外,它应该是
Data Source=
不
Data Source:
答案 1 :(得分:0)
在数据源之后,您的连接字符串看起来是错误的分号。
OleDbConnection connect = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data source=C:\Users\PC\Documents\Visual Studio 2013\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Firebird damagem0.accdb;Persist Security Info=False");
你的代码中还有另一个OleDbConnection应该是OleDbCommand。 最后,你安装了访问数据库引擎吗?
答案 2 :(得分:0)
我只是凭空创造了一个非常类似的错误(之前有效),经过一段时间挖掘我改变后的东西,我终于找到了错误:
Provider=Microsoft.Jet.OleDb.4.0;Data Source=myfile.mdb
有效,而
Provider=Microsoft.Jet.OleDb.4.0;DataSource=myfile.mdb
产生
Installable ISAM not found
对于那些没有看到它的人:区别在于密钥Data Source
与DataSource
的拼写 - 空格字符在这里很重要!