如何使用 C# 和 SQL Server 连接到数据库
Posted
技术标签:
【中文标题】如何使用 C# 和 SQL Server 连接到数据库【英文标题】:How to connect to database using C# and SQL Server 【发布时间】:2019-09-23 05:50:55 【问题描述】:这是html表单;我想使用 C# 将此表单中的值插入到我的 SQL Server 表中。我尝试添加,但我不知道如何建立正确的连接以及如何使用这个简单表单中的数据将其添加到数据库中。我正在使用 Microsoft SQL Server Management Studio,我有真正的数据库和服务器
<form id="form1" runat="server">
<h1> Find and search about any employee in Faten</h1>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<input id="ID" type="text" />
<input id="name" type="text" />
<input id="lname" type="text" />
<input id="pass" type="text" />
<input id="Submit1" type="submit" value="submit" />
</form>
这是我的 C# 代码
protected void Button1_Click(object sender, EventArgs e)
String query = "INSERT INTO Ruser(ID, Name, Lname, pass) VALUES (@ID, @name, @lanme, @pass);";
SqlConnection connection1 = new SqlConnection();
SqlCommand cmd = new SqlCommand(query, connection1);
cmd.CommandType = CommandType.TableDirect;
cmd.Parameters.AddWithValue("@Id", "33");
cmd.Parameters.AddWithValue("@name", "abc");
cmd.Parameters.AddWithValue("@lanme", "abc");
cmd.Parameters.AddWithValue("@pass", "abc");
connection1.Open();
int result = cmd.ExecuteNonQuery();
// Check Error
if (result < 0)
Console.WriteLine("Error inserting data into database!");
【问题讨论】:
Dan Guzman 说:"AddWithValue is Evil" - 请阅读这篇文章并停止使用它! 【参考方案1】:你可以用这个:
var connStr = "Data Source=ServerName;Initial Catalog=DataBaseName;Integrated Security=SSPI";
using(SqlConnection openCon=new SqlConnection(connStr))
或者:
var connStr = "Data Source=ServerName;Initial Catalog=DataBaseName;Userid=UserName;Password=Secret";
using(SqlConnection openCon=new SqlConnection(connStr))
但更好的方法是将连接字符串保存在 webconfig 中,或者使用 .netcore appsetting 文件并从中读取。
【讨论】:
嗨哈桑我做了所有这些但仍然存在同样的问题没有数据添加到表中您在上面看到的其余代码是否有任何问题 Hassan 先生展示了正确且非常好的代码。您可能应该使用 try catch 和 using 语句围绕连接的打开。 @benjamin moskovits 是的,当然我只是想展示关于连接字符串的内容,但我编辑了我的代码并感谢您的关注。以上是关于如何使用 C# 和 SQL Server 连接到数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 LINQ to SQL 连接到 SQL Server?
如何从 Docker-Compose C# 应用程序连接到本地 SQL Server Express 数据库?