超简单,C# winform如何连接ACCESS数据库?

秋的红果实 2012-02-10 11:22:51
不知道问题出在哪里?
我用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了
...全文
489 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2012-02-11
  • 打赏
  • 举报
回复
谢谢了
nonocast 2012-02-11
  • 打赏
  • 举报
回复
ConfigurationManager.ConnectionStrings
呵呵
其实你可以MessageBox.Show(从配置取出的内容)来验证一下
和access根本没关系,是吧
暖枫无敌 2012-02-10
  • 打赏
  • 举报
回复

string connstr = ConfigurationManager.ConnectionStrings["myceshi.Properties.Settings.mydbConnectionString"].ConnectionString;
暖枫无敌 2012-02-10
  • 打赏
  • 举报
回复
你都说了这么简单都能搞错???


你配置节里使用ConnectionString,在代码里你使用AppSetting,前后不一致。
string connstr = ConfigurationManager.AppSettings["connectionStrings"].ToString();
==============》修改成如下
string connstr = ConfigurationManager.ConnectionStrings["myceshi.Properties.Settings.mydbConnectionString"].ConnectionString;
sugarbelle 2012-02-10
  • 打赏
  • 举报
回复
把try去掉就知道问题在哪里了
sugarbelle 2012-02-10
  • 打赏
  • 举报
回复
超简单你都不会?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧