1

これが私のフォームの外観で、私のコードは次のようになります。

using System.Data.SqlClient;

namespace ProjectCSharpSQLserver
{
    public partial class Form1 : Form
    {
        SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=I:\ProjectCSharpSQLserver\ProjectCSharpSQLserver\CsSQL.mdf;Integrated Security=True;User Instance=True");
        SqlCommand cmd = new SqlCommand();
        DataTable dt = new DataTable();

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            cn.Open();
            SqlDataAdapter sda = new SqlDataAdapter("insert into info (id, Name, phone, Address) Values ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "')", cn);
            sda.Fill(dt);
            cn.Close();
        }
    }
}

コンボボックスを開き、ID を見つけ、いずれかを選択すると、データベースからのデータがテキスト ボックスに入力されるので、データを削除および更新する方法を知る必要があります。

4

1 に答える 1

1

ここで使用できる例を見つけました。

private void cb1_SelectedIndexChanged(object sender, EventArgs e)
{
   ComboBox cb = (ComboBox)sender;
   cn.Open();
   SqlDataAdapter sda = new SqlDataAdapter("Place your DELETE statement here", cn);
   sda.Fill(dt);
   cn.Close();
}

これにより、選択されたステートメントcomboboxが変更されるたびに実行されます。余談ですが、SqlDataAdapter を実行すると、データベースへの接続が自動的に開閉されるため、 /を使用する必要はありませ。しかし、そうするのは良い習慣です。cn.Open()cn.Close()

C# と ADO.NET に慣れたら、パラメーター化されたクエリの使用を真剣に検討します。

于 2013-02-19T22:56:24.087 に答える