尝试打开()sql server时出错

时间:2014-10-25 22:28:27

标签: c# .net sql-server wcf sqlconnection

我是网络开发的新手,并且通过浏览论坛,我已经成功地解决了很多问题。

看来,我遇到的问题是其他一些问题,我发现它们都是不同的,只是因为我的生活没有能够解决它。

我正在尝试将玩家注册详细信息插入到数据库中,但是当我尝试调用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;
        }
    }
}

2 个答案:

答案 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文件名,这是一个有用的链接:

https://www.connectionstrings.com/sql-server/