繁体   English   中英

从 Visual Studio 连接到 SQL Server 数据库的问题

[英]Issue with connecting to SQL Server database from Visual Studio

我已经用 C# 创建了一个简单的 Windows 窗体应用程序,现在发现很难将它连接到 SQL Server 数据库。 我已经在 Visual Studio 中创建了数据库。 但是,一旦我尝试插入数据,就会出现 SQL 异常。 我的猜测是连接数据源中存在问题,即 con 变量。 请帮我找到解决办法。

SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;Initial Catalog=Database1;Integrated Security=SSPI");

SqlCommand cmd;
SqlDataAdapter adapt;

if (textBox1.Text != "" && textBox2.Text != "" && textBox3.Text != "")
{
    cmd = new SqlCommand("insert into [dbo].[user] (Id, username, password) values (@id, @name, @state)", con);

    con.Open();

    cmd.Parameters.AddWithValue("@id", textBox1.Text);
    cmd.Parameters.AddWithValue("@name", textBox2.Text);
    cmd.Parameters.AddWithValue("@state", textBox3.Text);

    cmd.ExecuteNonQuery();
    con.Close();

    MessageBox.Show("Record Inserted Successfully");
}
else 
{
    MessageBox.Show("Please Provide Details!");
}

数据库文件名是

\WindowsFormsApplication1\WindowsFormsApplication1\Database1.mdf

如果您在 SQL Server 的实际实例(这可以是您机器上的本地实例)上创建数据库,则连接字符串的数据源似乎不太正确。

数据源=DESKTOP-XXXXXXX/Shenal Burkey

这有两个问题,首先斜杠 (/) 实际上应该是一个反斜杠 ()。 其次,在斜线之后你有一个带空格的“Shenal Burkey”。 SQL Server 实例名称不能包含空格字符。 也就是说,如果您将 SQL Server 作为命名实例安装,则需要在该位置指定命名实例,如果您接受默认实例名称,则它应该是“MSSQLSERVER”。 如果您使用默认实例名称,您可以指定您的连接字符串,如下所示:

Data Source=DESKTOP-XXXXXXX\MSSQLSERVER

或者您可以完全省略实例名称并使用:

Data Source=DESKTOP-XXXXXXX

另外,只是一个提示,您会注意到我用 X 替换了您桌面主机名的细节,我个人建议编辑您的问题并执行相同操作。 它可能看起来没有用,但有人可能会捡起它并找到一种狡猾的方法来造成一些伤害。 安全总比后悔好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM