正确的方法来连接和查询SQL Server Express数据库

Axx*_*ess 6 c# database console sql-server-express

我需要一个示例C#(控制台应用程序)代码连接到SQL Server Express数据库并将一些变量插入表"laptops"

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

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

mar*_*c_s 12

基本的ADO.NET 101:

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

第1步:建立连接

您需要知道数据库的连接字符串.查看http://www.connectionstrings.com了解大量示例.

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

server=(local)\SQLEXPRESS;database=YourDatabaseName;user id=database;pwd=testdatabase
Run Code Online (Sandbox Code Playgroud)

第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();
}
Run Code Online (Sandbox Code Playgroud)