这是一个菜鸟问题,但我已经被困在这里几个小时,所以我需要通过这个。我有这个Windows应用程序执行一个简单的功能。它访问数据库并检查是否存在特定记录,如果存在则执行某些操作。
但它只是不想读取connection string
- 它始终为空。每次初始化连接字符串时,我都会变为空。我能做错什么?我只有一个名为App.config
的连接字符串。
班级档案
private class ClassA
{
private string myConnectionString = "";
private SqlConnection mySQLConnection;
private SqlCommand mySQLCommand;
private int CheckIfSerialNumberExists(UInt64 ColumnToCheck)
{
int countResult = 0;
myConnectionString = ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString; //I get an object reference null here when the compiler executes this line. I have been using this structure for years and never got any issues
using (mySQLConnection = new SqlConnection(myConnectionString))
{
string procName = "SELECT Count(*) ColumnName FROM Table WHERE ColumnName='" + ColumnToCheck + "'";
mySQLCommand = new SqlCommand(procName, mySQLConnection);
mySQLConnection.Open();
countResult = (int)mySQLCommand.ExecuteScalar();
}
return countResult;
}
private void someFunc()
{
//Test value: 5
if(CheckIfSerialNumberExists(5) > 0)
{
//Don't do anything
}
else
{
//Save to DB
}
}
}
配置文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ConnectionStringName"
connectionString="Data Source=ServerName;Initial Catalog=DatabaseName;Persist Security Info=True;User ID=**;Password=****"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/></startup>
</configuration>
答案 0 :(得分:2)
所以这是快速修复:
在我的Windows应用程序中,我引用了一个类库项目。我只在该项目中添加了连接字符串。我把它添加到我的Windows应用程序项目中,然后我们去了,一切正常。真的觉得自己像个白痴。