user_Id と regNo のフィールドを持つこのテーブル Profile があり、データの挿入に進む前に、id と email が既に存在するかどうかを最初に確認したいと思います。
私のコードでは、1 つの行 (id または reg 番号) のみを検証できますが、そのうちの 2 つを検証しようとすると、「スカラー変数 @userid を宣言する必要があります」というエラーが表示されます。私の選択が間違っているのか、それとも私のコードに何かがあるのか わかりません。
SqlConnection con = new SqlConnection("Data Source=GATE-PC\\SQLEXPRESS;Initial Catalog=dbProfile;Integrated Security=True");
con.Open();
SqlCommand cmdd = new SqlCommand("select * from Profile where user_Id = @userid AND RegNo = @reg", con);
SqlParameter param = new SqlParameter();
//SqlParameter param1 = new SqlParameter();
param.ParameterName = "@userid";
param.ParameterName = "@reg";
param.Value = txtid.Text;
param.Value = txtregNo.Text;
cmdd.Parameters.Add(param);
//cmdd.Parameters.Add(param1);
SqlDataReader reader = cmdd.ExecuteReader();
if (reader.HasRows)
{
MessageBox("User Id/Registry Number already exists");
}
else
{
SqlConnection con = new SqlConnection("Data Source=GATE-PC\\SQLEXPRESS;Initial Catalog=dbProfile;Integrated Security=True");
SqlCommand cmd = new SqlCommand("qry", con);
cmd.CommandType = System.Data.CommandType.Text;
cmd.Parameters.AddWithValue("@id", txtid.Text);
cmd.Parameters.AddWithValue("@regno", txtregNo.Text);
cmd.Parameters.AddWithValue("@name", txtname.Text);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
con.Open();
cmd.ExecuteNonQuery();
MessageBox("successfully saved!");
}
私はasp.netでC#を使用しています。