无法使用 C# 连接到数据库

failed to connect to database using c#

我想问一下用c#连接db的问题。 我已阅读 http://csharp.net-informations.com/data-providers/csharp-sql-server-connection.htm 并编写了我的代码,但连接似乎无法正常工作。

这是我的代码:

string connetionString = null;
SqlConnection connection;
SqlCommand command;
string sql = null;
SqlDataReader dataReader;
connetionString = "Data Source=localhost;Initial Catalog=dbabc;User ID=admin;Password=qwerty";
sql = "UPDATE ppd,brg,cmp SET WHERE";
connection = new SqlConnection(connetionString);
try
{
    connection.Open();
    command = new SqlCommand(sql, connection);
    dataReader = command.ExecuteReader();
    while (dataReader.Read())
    {
        MessageBox.Show(dataReader.GetValue(0) + " - " + dataReader.GetValue(1) + " - " + dataReader.GetValue(2));
    }
    dataReader.Close();
    command.Dispose();
    connection.Close();
}
catch (Exception ex)
{
    MessageBox.Show("Can not open connection ! ");
}

我写错了吗?显示的错误消息总是显示 "Can not open connection"!

我认为你应该检查服务器名称

如果您在您的计算机上安装 SQL 服务器(标准),服务器名称为(本地)或 .

如果您使用的是 VS,请创建数据源并测试连接字符串。转到数据> 添加新数据源。找到您的数据库服务器并创建正确的字符串。

抛出的异常应该是SqlException。检查 SqlException 上的 ErrorCode 并在此处查找...

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-develop-error-messages

您的代码应该执行此操作而不是 catch(Exception ex)...

try
{
    connection.Open();
    ....
    connection.Close();
}
catch (SqlException ex)
{
    MessageBox.Show($"Can not open connection ! ErrorCode: {ex.ErrorCode} Error: {ex.Message}");
}
catch (Exception ex)
{
    MessageBox.Show($"Can not open connection ! Error: {ex.Message}");
}

您的代码正在运行。我可以验证。请检查您的连接字符串和 SQL 查询。特别是您的 SQL 查询。这似乎是错误的。 尝试在 Microsoft SQL Server Management Studio 中执行查询。如果您的查询中有错误,您可以很容易地在那里找到它。

SQL 更新语法

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

推荐读物
https://www.tutorialspoint.com/sql/sql-update-query.htm
https://www.w3schools.com/sql/sql_update.asp

要验证连接字符串,

  1. 打开 服务器资源管理器 窗格。 ("View" 菜单,"Server Explorer" 或 使用快捷键 CTRL+Alt+S).
  2. 右击数据连接,Select 添加连接然后 在 selecting Microsft SQL 服务器作为数据源后按 继续
  3. Select 刷新 并单击向下箭头,然后单击 select 您的 SQL 服务器。 如果找不到,请手动输入服务器名称。
  4. 您可能还必须输入 SQL 服务器凭据。
  5. Select 或输入您的数据库名称,然后按 测试连接
  6. 如果您看到 测试连接成功 消息,那么您的 SQL 服务器正在运行。
  7. 如果需要,您还可以通过按 高级.. 按钮然后复制连接字符串
  8. 来获取连接字符串

此外,尝试将异常消息添加到 catch 块。这样,您就可以轻松找到错误。

MessageBox.Show("Can not open connection ! \n" + ex.Message);