在控制台应用程序中定义连接字符串
问题描述:
我正在尝试create a connection
,但它始终采用null
。 下面我提的一个方式,我怎么做:在控制台应用程序中定义连接字符串
的Program.cs:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CreateConnection"].ConnectionString);
的App.config:
<configuration>
<connectionStrings>
<add name="CreateConnection" connectionString="data source=MyDatabase;initial catalog=TestDatabase;integrated security=True;MultipleActiveResultSets=True;user id=ABC;[email protected];App=EntityFramework;" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
答
我用下面的方式。检查这有助于用于MySQL的
在App.config文件
<appSettings>
<add key="DBConnectionString"
value="server=localhost;userid=root;database=databasename"/>
</appSettings>
在Program.cs的
public static string m_strMySQLConnectionString;
static MySqlConnection m_mySqlConnection;
static void Main(string[] args)
{
m_strMySQLConnectionString = ConfigurationManager.AppSettings["DBConnectionString"].ToString();
m_mySqlConnection = null;
}
在DB辅助函数
public string GetValueFromDB(string strQuery)
{
string strData = "";
try
{
if (m_mySqlConnection == null)
OpenDatabase();
if (string.IsNullOrEmpty(strQuery) == true)
return string.Empty;
MySqlCommand cmd = new MySqlCommand(strQuery, m_mySqlConnection);
object objValue = cmd.ExecuteScalar();
if (objValue == null)
{
cmd.Dispose();
return string.Empty;
}
else
{
strData = (string)cmd.ExecuteScalar();
cmd.Dispose();
}
if (strData == null)
return string.Empty;
else
return strData;
}
catch (MySqlException ex)
{
LogException(ex);
return string.Empty;
}
catch (Exception ex)
{
LogException(ex);
return string.Empty;
}
finally
{
CloseDatabase();
}
}
请发布更多的应用程序的.Config代码 –
你有' connectionStrings>'在app配置的行周围吗? –
EpicKip
是的......让我发表更多 –