ConnectionString属性尚未初始化向数据库插入数据时出错



我目前正在使用.NET Web Api使用存储过程将用户注册到SQL Server中。当我试图将记录添加到数据库时,我得到一个错误

ConnectionString属性尚未初始化

我在互联网上查找了连接字符串,但结果仍然相同。当我调试时,代码执行转到这行

db.ExecNonQuery("SSO_Register", parm)

在CCD_ 1方法中,然后抛出异常。请帮忙。

连接字符串:

<connectionStrings>
<add name="_cs" 
connectionString="Data Source=DESKTOP-KR81RU5MSSConQLSERVER01;Initial Catalog=HISDB;Integrated Security=True;Connect Timeout=3600" 
providerName="System.Data.SqlClient" />
</connectionStrings>

dbUtil类:

private static string _cs = null;
public dbUtil(string cs)
{
_cs = cs;
}
public void ExecNonQuery(string sp, SqlParameter[] parm)
{
using (SqlConnection connection = new SqlConnection(_cs))
{
using (SqlCommand command = new SqlCommand(sp, connection))
{
command.CommandType = CommandType.StoredProcedure;
command.CommandTimeout = 120;
connection.Open();
if (parm != null)
{
for (int i = 0; i < parm.Length; i++)
command.Parameters.Add(parm[i]);
}
command.ExecuteNonQuery();
}
}
}

doRegister方法:

bool _return = false;
try
{
string tac = " ";
Test util = new Test();
tac = Test.getTac();
SqlParameter[] parm =
{
new SqlParameter("secure_word", objsso.secure_word),
new SqlParameter("full_name", objsso.full_name),
new SqlParameter("phone_number", objsso.phone_number),
new SqlParameter("nationality", objsso.nationality),
new SqlParameter("id_number", objsso.id_number),
new SqlParameter("dob", objsso.dob),
new SqlParameter("email", objsso.email),
new SqlParameter("user_id", objsso.email),
new SqlParameter("full_name", objsso.full_name),
new SqlParameter("provider_id", objsso.provider_id),
new SqlParameter("temp_token", objsso.temp_token),
new SqlParameter("tac", tac)

};
dbUtil db = new dbUtil(_cs);
db.ExecNonQuery("SSO_Register", parm);
_return = true;
}
catch (Exception ex)
{
_return = false;
throw ex;
}
return _return;

您没有从Configuration读取连接字符串,因此在您的情况下,连接字符串为null。

var connectionString =System.Configuration.ConfigurationManager.
ConnectionStrings["_cs"].ConnectionString;
dbUtil db = new dbUtil(connectionString );

请试试这个。

最新更新