日期:2014-05-18  浏览次数:20997 次

超简单,C# winform如何连接ACCESS数据库?
不知道问题出在哪里?
我用VS2008建立了一个项目(myceshi),然后从“我的电脑”里,打开“myceshi”目录,建立了一个access文件(用office 2003建立的),添加了表,和数据。然后在VS2008里,右键,添加现有项目,添加数据库文件,接着在app.config里多出了如下代码:
<connectionStrings>  
  <add name="myceshi.Properties.Settings.mydbConnectionString"
  connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\mydb.mdb;Persist Security Info=True"
  providerName="System.Data.OleDb" />
</connectionStrings>

程序调用如下:
OleDbConnection conn;
  OleDbCommand comm;
  OleDbDataReader mydr;

  try
  {
  string connstr = ConfigurationManager.AppSettings["connectionStrings"].ToString();
  conn = new OleDbConnection(connstr);
 
  comm = new OleDbCommand("select * from thetable", conn);
  conn.Open();
  mydr = comm.ExecuteReader();
  if (mydr.Read())
  MessageBox.Show(mydr[1].ToString());

  mydr.Dispose();
  comm.Dispose();
  conn.Close();

  }
  catch
  {
  MessageBox.Show("出错啦");
  }

功能就是想将数据库里的第二个字段输出,可总是出错,不知道问题在哪里?
Configuration也引用了,并且using了,Oledb也using了


------解决方案--------------------
把try去掉就知道问题在哪里了
------解决方案--------------------
你都说了这么简单都能搞错???


你配置节里使用ConnectionString,在代码里你使用AppSetting,前后不一致。
string connstr = ConfigurationManager.AppSettings["connectionStrings"].ToString();
==============》修改成如下
string connstr = ConfigurationManager.ConnectionStrings["myceshi.Properties.Settings.mydbConnectionString"].ConnectionString;

------解决方案--------------------
ConfigurationManager.ConnectionStrings
呵呵
其实你可以MessageBox.Show(从配置取出的内容)来验证一下
和access根本没关系,是吧