[英]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.