0

この文字列で更新する必要があるSQL Serverの名前と ID を入力できる、GUI を使用して単純なアプリケーションを作成したいと考えています。

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 フレームワークは、SQL 接続に ADO.Net を使用します。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 に答える