我是网络开发的新手,并且通过浏览论坛,我已经成功地解决了很多问题。
看来,我遇到的问题是其他一些问题,我发现它们都是不同的,只是因为我的生活没有能够解决它。
我正在尝试将玩家注册详细信息插入到数据库中,但是当我尝试调用wcf服务器时,我遇到了conn.Open()上的异常类型:
System.Data.dll中发生了'System.Data.SqlClient.SqlException'类型的异常,但未在用户代码中处理。
另外我使用构建它的sql server并且使用的连接字符串是数据库中的属性。 我不太清楚如何继续。
public string playerRegistration(playerDetails playerInfo)
{
string Message;
using (SqlConnection conn = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\\Users\\Daniel\\documents\\visual studio 2013\\Projects\\Prac4\\WebApplication1\\App_Data\\ADODatabase.mdf;Integrated Security=True"))
{
conn.Open();
using (var cmd = new SqlCommand("INSERT into Player(pid, pfname, plname, pphone, paddress, pdob) VALUES (@pid, @pfname, @plname, @pphone, @paddress, @pdob)", conn))
{
cmd.Parameters.AddWithValue("@pid", playerInfo.Pid);
cmd.Parameters.AddWithValue("@pfname", playerInfo.Pfname);
cmd.Parameters.AddWithValue("@plname", playerInfo.Plname);
cmd.Parameters.AddWithValue("@pphone", playerInfo.Pphone);
cmd.Parameters.AddWithValue("@paddress", playerInfo.Paddress);
cmd.Parameters.AddWithValue("@pdob", playerInfo.Pdob);
int result = cmd.ExecuteNonQuery();
if (result == 1)
{
Message = " Details inserted successfully";
}
else
{
Message = " Details not inserted successfully";
}
conn.Close();
return Message;
}
}
}
答案 0 :(得分:5)
请务必使用@".."
(a verbatim string literal)与连接字符串,以避免简单的转义错误。
"..\v.."
显示的代码包含vertical tab escape,它会产生无效的连接字符串。没有编译器错误,因为字符串文字语法上有效虽然结果字符串不正确。
推荐使用逐字字符串文字修正并删除双斜杠:
@"Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\Users\Daniel.."
替代修复(请注意\\v
):
"Data Source=(LocalDB)\\v11.0;AttachDbFilename=c:\\Users\\Daniel.."
答案 1 :(得分:0)
问题在于您的连接字符串
"Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\\Users\\Daniel\\documents\\visual studio 2013\\Projects\\Prac4\\WebApplication1\\App_Data\\ADODatabase.mdf;Integrated Security=True"
搜索互联网以查找SQL Server所需的格式。您不需要MDF文件名,这是一个有用的链接: