Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用c连接到数据库#_C#_Sql Server_Ado.net - Fatal编程技术网

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

C# 无法使用c连接到数据库#,c#,sql-server,ado.net,C#,Sql Server,Ado.net,我想询问有关将db与c#连接的问题。 我已经阅读和编写了我的代码,但是连接似乎不起作用 这是我的代码: string connetionString = null; SqlConnection connection; SqlCommand command; string sql = null; SqlDataReader dataReader; connetionString = "Data Source=localhost;Initial Catalog=dbabc;User ID=admin

我想询问有关将db与c#连接的问题。 我已经阅读和编写了我的代码,但是连接似乎不起作用

这是我的代码:

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 ! ");
}

我写错什么了吗?显示的错误消息始终显示“无法打开连接”

我想你应该检查一下服务器名


如果在计算机上安装SQL server(标准),则服务器名为(本地)或。

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


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

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

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

引发的异常应为SqlException。检查SqlException上的错误代码并在此处查找

您的代码应该这样做,而不是捕获(异常)

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}");
}

引发的异常应该是SqlException。检查SqlException上的错误代码并在此处查找

您的代码应该这样做,而不是捕获(异常)

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];
推荐读数

要验证连接字符串

  • 打开服务器资源管理器窗格。(“查看”菜单、“服务器资源管理器”或 使用快捷键CTRL+Alt+S)
  • 右键单击数据连接,选择添加连接,然后单击 选择MicrosoftSQL Server作为数据源后,按继续
  • 选择刷新并单击向下箭头,然后选择您的SQL server。 如果找不到,请手动输入服务器名称
  • 您可能还必须输入SQL server凭据
  • 选择或输入数据库名称,然后按测试连接
  • 如果您看到一条测试连接成功消息,则表明您的SQL server正在工作
  • 如果需要,还可以通过按高级..按钮然后复制连接字符串来获取连接字符串
  • 此外,尝试添加异常消息以捕获块。这样,您就可以很容易地找到错误

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

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

    SQL更新语法

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

    要验证连接字符串

  • 打开服务器资源管理器窗格。(“查看”菜单、“服务器资源管理器”或 使用快捷键CTRL+Alt+S)
  • 右键单击数据连接,选择添加连接,然后单击 选择MicrosoftSQL Server作为数据源后,按继续
  • 选择刷新并单击向下箭头,然后选择您的SQL server。 如果找不到,请手动输入服务器名称
  • 您可能还必须输入SQL server凭据
  • 选择或输入数据库名称,然后按测试连接
  • 如果您看到一条测试连接成功消息,则表明您的SQL server正在工作
  • 如果需要,还可以通过按高级..按钮然后复制连接字符串来获取连接字符串
  • 此外,尝试添加异常消息以捕获块。这样,您就可以很容易地找到错误

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

    您是否在LocalHost上运行sqlserver您在哪一行得到错误?在catch块中设置一个断点并检查ex变量中的详细错误消息。它可能是正确的。。。。在这种情况下,要么您没有本地运行sql server,要么数据库不存在而没有错误消息,这是任何人的猜测。是否启用了TCP/IP?localhost是否映射到127.0.0.1?对于许多未知数,有很多问题需要澄清@lalaland请回答。您是否在LocalHost上运行sqlserver获取错误的行是什么?在catch块中设置一个断点,并检查ex变量中的详细错误消息。这可能是正确的。。。。在这种情况下,要么您没有本地运行sql server,要么数据库不存在而没有错误消息,这是任何人的猜测。是否启用了TCP/IP?localhost是否映射到127.0.0.1?对于许多未知数,有许多问题需要澄清@lalaland请回答。没有服务器,它使用本地主机。您尝试使用“数据源=(本地);初始目录=dbabc;用户ID=管理员;密码=qwerty”没有服务器,它使用本地主机。您尝试使用“数据源=(本地);初始目录=dbabc;用户ID=管理员;密码=qwerty”请看下面我的评论,sql server的警报请看下面我的评论,sql server的警报