0

チェック ボックスにある種のデータ (ユーザー名、CNIC、連絡先番号など) をロードしたフォームを開いたので、テキスト ボックスのテキストを変更するだけでデータを更新したいと考えています。変更の保存をクリックして保存します。試してみましたが、正しい方法で行うことができません。

私がどのようにコーディングしたかをお見せしましょう。 frmViewformList savechanges ボタンで行ったコードは次のとおりです。

private void btnSaveChanges_Click(object sender, EventArgs e)
{
    string sql;
    string UserName;


    UserName = txtUserName.Text; // saving data loaded on run time to UserName 

    sql = "";
    sql += "UPDATE UserLogin";
    sql += "SET Name = "+ //how to access data I've changed in TextBox after loading +"";
    sql += "WHERE Name= " + //how to access data which was in text box right after loading + "";  //
}

テキストボックスに既にある名前や変更した名前など、データの参照方法とSQLクエリでの記述方法について少し混乱しています...

この質問は少しややこしいですね。説明させてください。フォームが読み込まれ、ロード イベントでデータベースのデータが取り込まれているテキスト ボックスがあります。テキスト ボックスのデータを変更し、クリックで保存して、更新クエリが実行され、データベースのデータも変更されるようにします。ここでこれを行う方法のロジックを作成できません。誰か助けてください。申し訳ありませんが、私は C# の新しい開発者であるため、少し混乱しています。

4

3 に答える 3

0

入力からすべての '、"、および ` 文字を削除して、人々が SQL を挿入できないようにする必要があります。これを行うときは SET Name = " +、文字列であるため、含めているものはすべて引用符で囲む必要があります。SET Name = '" + UserName "' " +...

これはおそらく使用するのが最適です

string.Format("UPDATE UserLogin SET Name = '{0}' WHERE Name = '{1}'", UserName, FormerUserName);

次に、クエリを実行してusing System.Data.SqlClient;から、SqlConnection を使用してサーバーへの接続を確立し、SqlCommandある種の a を実行します。見てみましょう: http://www.codeproject.com/Articles/4416/Beginners-guide-to-accessing-SQL-Server-through-C

于 2013-08-20T15:21:35.293 に答える
0

以下は、ADO.NET を使用し、SQL Server データベースを想定してデータベースにデータを挿入するためのコード スニペットです。

.cs ファイルの先頭にあるはずです。

using System.Data.SqlClient;  // for sql server for other data bases you should use OleClient instead.

そして、ボタンクリックイベント内に次のものを入れることができます。

    // to know how to get the right connection string please check this site: http://www.connectionstrings.com
    string connString = "database connection string here";

    using (SqlConnection con = new SqlConnection(connString)) 
    {
        con.Open();
        //insert text into db
        string sql_insert = "INSERT INTO ....."; // Use parameters here.
        SqlCommand cmd_insert = new SqlCommand(sql_insert, con);
        int rowsAffected = cmd_insert.ExecuteNonQuery();    
    }

うまくいけば、これで十分です。

于 2013-08-20T15:27:49.977 に答える