0

テキストボックスからSQLクエリに値を渡して、入力した数値がデータベースに表示される回数を調べようとしています。私はC#プログラミングが初めてで、どんな助けでも大歓迎です:)

私の SQL クエリはスカラーで、次のようになります。

SELECT COUNT(WinNo01) AS CountOfball1
FROM tblLotto
GROUP BY WinNo01
HAVING WinNo01 = @num

そして私のコードはこれです:

namespace Assessment2
{
    public partial class Statistics : Form
    {
        public Statistics()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int amount = 0;
            amount = int.Parse(textBox1.Text);            

            label2.Text = "1st position appearances : " + tblLottoTableAdapter.StatisticRow01(amount).ToString();                             
        }
    }
}

注: @num を取り出して値を入力することでクエリを機能させることができますが、テキスト ボックスから値を読み込む必要があります。私はとても緑なので、簡単な答えを教えてください:)

4

2 に答える 2

1

MSDN の次の記事が役立つ場合があります。

C# の SQL テーブルに TextBox の値を格納する

したがって、上記を念頭に置いて、これを行うことができます:

string query = "INSERT INTO MyTable VALUES (@MyValue)";
SqlCommand cmd = new Sqlcommand(query, sqlConn);
cmd.Parameters.Add("@MyValue", SqlDbType.Varcharm, 50).Value = myTextBox.Text;
cmd.Connection.Open();
try
{
   cmd.ExecuteNonQuery();
}
于 2013-10-22T20:51:27.807 に答える
0
private void button1_Click(object sender, EventArgs e)
{
    int amount;
    if(int.TryParse(textBox1.Text,out amount))
    {
        using (var com = new System.Data.SqlClient.SqlConnection("your connection string").CreateCommand())
        {
            com.CommandText = @"SELECT COUNT(WinNo01) AS CountOfball1
                            FROM tblLotto
                            GROUP BY WinNo01
                            HAVING WinNo01 = @num";
            com.Parameters.Add(new System.Data.SqlClient.SqlParameter("num", amount));
            com.Connection.Open();
            try
            {
                int result = Convert.ToInt32(com.ExecuteScalar());
                label2.Text = result.ToString();
            }
            finally 
            {
                com.Connection.Close();
            }
        }
    }
}
于 2013-10-22T21:24:17.947 に答える