我想问一下将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 ! ");
}
我写错了吗?显示的错误消息始终显示"无法打开连接"!
答案 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
验证连接字符串
此外,尝试添加异常消息以捕获阻止。这样,您就可以轻松找到错误。
MessageBox.Show("Can not open connection ! \n" + ex.Message);