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

时间:2018-04-17 04:03:41

标签: c# sql-server ado.net

我想问一下将db与c#连接起来。 我已阅读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 ! ");
}

我写错了吗?显示的错误消息始终显示"无法打开连接"!

4 个答案:

答案 0 :(得分:1)

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

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

而不是捕获(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}");
}

答案 1 :(得分:0)

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

如果在计算机上安装SQL Server(标准版),则服务器名称为(local)或。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您的代码正常运行。我可以验证它。请检查您的连接字符串和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. 打开服务器资源管理器窗格。 (“查看”菜单,“服务器资源管理器”或 使用快捷键 CTRL + Alt + S )。
  2. 右键单击数据连接,选择添加连接,然后选择 选择Microsft SQL Server作为数据源后按继续
  3. 选择刷新,然后单击向下箭头,然后选择您的SQL Server。 如果找不到,请手动输入服务器名称。
  4. 您可能还需要输入SQL Server凭据。
  5. 选择或输入您的数据库名称&然后按测试连接
  6. 如果您看到测试连接成功消息,那么您的SQL服务器正在运行。
  7. 如果需要,还可以通过按高级.. 按钮然后复制连接字符串来获取连接字符串
  8. enter image description here

    此外,尝试添加异常消息以捕获阻止。这样,您就可以轻松找到错误。

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