我的代码运行良好,但在尝试托管之后。它的数据库始终以null值响应。我没能主持它。现在,当我尝试在我的电脑上调试时,它也有同样的空响应问题。
我的类文件及其标量查询代码。
public Object ExecuteScalarQuery(String sp)
{
String _ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["rfid"].ConnectionString;
// string _ConnString = ConfigurationManager.ConnectionStrings["rfid"].ConnectionString;
SqlConnection myConnection = new SqlConnection(_ConnString);
SqlCommand cmd = new SqlCommand(sp, myConnection);
Object result = 0;
try
{
myConnection.Open();
result = cmd.ExecuteScalar();
}
catch (Exception ex)
{
//if (myConnection.State == ConnectionState.Open)
// myConnection.Close();
}
finally
{
//if (myConnection.State == ConnectionState.Open)
// myConnection.Close();
}
return result;
}
web.config文件有连接字符串
<connectionStrings>
<add name="rfid" connectionString="Data Source=CHINTAN-PC\SQLEXPRESS;Initial Catalog=msdb;Integrated Security=True " providerName="System.Data.SqlClient"/>
在逐步调试其连接字符串时看起来像这样无法正常工作。
"Data Source=CHINTAN-PC\\SQLEXPRESS;Initial Catalog=msdb;Integrated Security=True "
答案 0 :(得分:0)
要检查的一件事是存储过程返回结果。我复制了你的代码,创建了一个表和一个存储过程来查询它的所有记录,当表为空时它返回null,当我添加了几个记录时它返回第一行的第一列的值。
答案 1 :(得分:0)
添加属性'pooling'。
<add name="rfid" connectionString="Data Source=CHINTAN-PC\SQLEXPRESS;Initial Catalog=msdb;Integrated Security=True; pooling=false;" providerName="System.Data.SqlClient"/>
答案 2 :(得分:0)
转到服务器资源管理器,选择您的数据库。在右窗格(属性)中复制连接字符串并粘贴它。如果这不起作用。去sql管理工作室。它是您的Windows身份验证和SQL身份验证问题。创建一个新的sql身份验证登录,并在连接字符串中给出userid =“”和password =“”,如“sa”和“sa123”。
答案 3 :(得分:0)
使用toString检索字符串值
String _ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["rfid"].ConnectionString.toString();