0

我想使用 GUI 创建简单的应用程序,我可以在其中输入必须使用此字符串更新的SQL Server名称和 ID:

update docs SET locked=0 WHERE ID=(id entered in GUI)

有什么建议吗?

4

2 回答 2

7

您可以编写一个 C# 函数来执行更新:

public int Update(int id)
{
    string connectionString = "... put the connection string to your db here ...";
    using (var conn = new SqlConnection(connectionString))
    using (var cmd = conn.CreateCommand())
    {
        conn.Open();
        cmd.CommandText = "UPDATE docs SET locked = 0 WHERE ID = @id";
        cmd.Parameters.AddWithValue("@id", id);
        return cmd.ExecuteNonQuery();
    }
}

然后你可以通过传递一些你从 UI 获得的动态值来调用这个函数:

int id;
if (int.TryParse(someTextBox.Text, out id))
{
    int affectedRows = Update(id);
    if (affectedRows == 0)
    {
        MessageBox.Show("No rows were updated because the database doesn't contain a matching record");
    }
}
else
{
    MessageBox.Show("You have entered an invalid ID");
}
于 2013-03-17T16:40:41.490 回答
0

.Net 框架使用 ADO.Net 进行 SQL 连接。ADO.Net 中的一个简单查询可以这样执行:

SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=Yourdatabase;Integrated Security=SSPI");
int res = 0;
try
{
conn.Open();
SqlCommand cmd = new SqlCommand("update docs SET locked=0 WHERE ID= @id");
cmd.Parameters.AddWithValue("@id", txtid.text);
res = cmd.ExecuteNonQuery();
}catch(Exception err){ 
MessageBox.Show(err.getMessage());
}finally{
conn.Close();
}
  1. 将连接字符串更改为您自己的连接字符串。
  2. 如果您使用的是 SQL Express,请将(本地)更改为 localhost\SQLEXPRESS。
  3. 将“txtid.text”更改为可以为您获取 ID 的任何语句。
  4. 您还可以检查 res 以找出受影响的行数。
于 2013-03-17T16:51:54.303 回答