【问题标题】:Proper way to make a connection and query to a SQL Server Express database与 SQL Server Express 数据库建立连接和查询的正确方法
【发布时间】:2025-12-12 18:05:03
【问题描述】:

我需要一个连接到 SQL Server Express 数据库的示例 C#(控制台应用程序)代码 并将一些变量插入到“笔记本电脑”表中

  • SQL Server Express 是@localhost
  • 用户名为数据库
  • 密码是testdatabase

这样做的正确方法是什么?

【问题讨论】:

  • 你试过google吗?
  • 你有尝试过什么吗?随便看看?听说过 ADO.NET LINQ 或类似的东西吗?
  • 是的,我找到了很多选项,但正如我所说的那样。我需要确认什么是正确的方法。
  • 向我们展示您查看过的“正确方法”,我们会尽力为您提供帮助

标签: c# database console sql-server-express


【解决方案1】:

基本 ADO.NET 101:

  • 建立连接
  • 设置命令来做某事
  • 执行该命令

第 1 步:建立连接

您需要知道您的数据库的连接字符串。查看 http://www.connectionstrings.com 以获取 示例。

在你的情况下,你说它是一个本地 SQL Server Express 实例 - 但不幸的是,你没有提到你的 数据库 被称为......你的连接字符串将类似于:

server=(local)\SQLEXPRESS;database=YourDatabaseName;user id=database;pwd=testdatabase

第 2 步:设置命令

您可以使用各种命令 - 选择数据、删除数据或插入数据。无论您做什么 - 我都建议始终使用参数化查询来避免 SQL 注入。

所以你的代码看起来像这样:

string connectionString = "server=(local)\SQLEXPRESS;database=YourDatabaseName;user id=database;pwd=testdatabase";

string insertStmt = "INSERT INTO dbo.Laptops(Name, Model, ScreenSize) " + 
                    "VALUES(@Name, @Model, @Screensize)";

using(SqlConnection conn = new SqlConnection(connectionString))
using(SqlCommand cmd = new SqlCommand(insertStmt, conn))
{
    // set up the command's parameters
    cmd.Parameters.Add("@Name", SqlDbType.VarChar, 100).Value = "ASUS SX30";
    cmd.Parameters.Add("@Model", SqlDbType.VarChar, 50).Value = "Ultralight";
    cmd.Parameters.Add("@Screensize", SqlDbType.Int).Value = 15;

    // open connection, execute command, close connection
    conn.Open();
    int result = cmd.ExecuteNonQuery();
    conn.Close();
}

【讨论】: