buc*_*ast 5 c# ms-access winforms
我收到错误,在本地窗口中我看到conSettings和connectionString值为null.我说ConfigurationManager为null是正确的,我需要创建一个新对象.也许我正在使用Access,也许我在App.config文件中遗漏了一些东西.请有人帮我解决这个问题.提前致谢.
App.config文件......
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="MyDBConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=E:\...\Database1.mdb"/>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
Form.cs文件......
private void btnShow_Click(object sender, EventArgs e)
{
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["MyDBConnectionString"];
string connectionString = ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString; // error points here
try
{
con = new OleDbConnection(connectionString);
con.Open();
cmd = new OleDbCommand("SELECT * FROM Table1", con);
objReader = cmd.ExecuteReader();
while (objReader.Read())
{
txtID.Text = ds.Tables[0].Rows[rno][0].ToString();
CBAgeGroup.Text = ds.Tables[0].Rows[rno][1].ToString();
CBGender.Text = ds.Tables[0].Rows[rno][2].ToString();
CBCrimOffen.Text = ds.Tables[0].Rows[rno][3].ToString();
if (ds.Tables[0].Rows[rno][4] != System.DBNull.Value)
{
photo_aray = (byte[])ds.Tables[0].Rows[rno][4];
MemoryStream ms = new MemoryStream(photo_aray);
pictureBox1.Image = Image.FromStream(ms);
}
txtCV.Text = ds.Tables[0].Rows[rno][5].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
我被建议使用App.config.
VS 2010 C#MS Access 2003
更新1 我的App.config现在看起来像这样......
<configuration>
<ConnectionString>
<add key="MyDBConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Raj\Education\C_Sharp\Test1\Database1.mdb"/>
</ConnectionString>
Run Code Online (Sandbox Code Playgroud)
我现在收到错误..."配置系统无法初始化".我现在正在Google上看它.
更新2 尝试...
<configuration>
<connectionStrings>
<add name="MyDBConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=E:\...\Database1.mdb"/>
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
接收"对象引用未设置为对象实例"的错误再次使用Google搜索
更新3
<configuration>
<connectionStrings>
<clear />
<add name="MyDBConnectionString"
providerName="System.Data.OleDb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Source=\Database1.mdb" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
随着更新3我收到错误相同的错误.我已经包含了添加参考系统.配置和我使用System.Configuration引用;
结论
也许它可能在VS 2010和Access 2003之间存在技术故障.我这次不会使用App.config.我知道SQL Server没有问题.所以我会留下它.感谢Damith和Clint的时间.
你需要阅读AppSettings键,如下所示,
string connectionString =
ConfigurationSettings.AppSettings["MyDBConnectionString"];
Run Code Online (Sandbox Code Playgroud)
仍然你收到空值,尝试以下步骤
要访问如下所示,您需要在app config中添加connectionStrings部分
string connectionString =
ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString; // error points here
Run Code Online (Sandbox Code Playgroud)
示例应用配置
Run Code Online (Sandbox Code Playgroud)<?xml version="1.0"?> <configuration> <connectionStrings> <add name="MyDBConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\...\Database1.mdb"/> </connectionStrings> </configuration>
| 归档时间: |
|
| 查看次数: |
32882 次 |
| 最近记录: |