所以我的問題是,我在寫入這個instert查詢到我的SQL服務器時收到一條錯誤消息。我使用Visual Studie 2017年的錯誤消息:用c插入行到SQL#
System.ArgumentException
:「沒有分配對象類型System.Web.UI.HtmlControls.HtmlInputGenericControl
到已知原始類型的託管服務提供商。」
這happends我cmd.ExecuteNonQuery();
,但我試過Scalar
和Reader
。所有提供一個錯誤。
我真的希望有人有解決方案,這是一個大學項目。
protected void btnRegister_Click(object sender, EventArgs e)
{
string connString = WebConfigurationManager.ConnectionStrings["csPAD"].ConnectionString;
SqlConnection myConnection = new SqlConnection(connString);
if (Page.IsValid)
{
string Study = rbStudy.SelectedValue;
string sqlQuery = "INSERT INTO Registratie ([Firstname], [middlename], [Lastname], [Dateofbirth], [Study], [Email]) VALUES (@Firstname,@middlename,@Lastname,@Dateofbirth,@Study,@Email)";
SqlCommand cmd = new SqlCommand(sqlQuery, myConnection)
{
cmd.Parameters.AddWithValue("@Firstname", txtFirstname.Text);
if (txtmiddlename.Text == "")
{
cmd.Parameters.AddWithValue("@middlename", "");
}
else
{
cmd.Parameters.AddWithValue("@middlename", txtmiddlename.Text);
}
cmd.Parameters.AddWithValue("@Lastname", txtLastname.Text);
cmd.Parameters.AddWithValue("@Dateofbirth", Dateofbirth);
cmd.Parameters.AddWithValue("@Study", Study);
if (txtEmail.Text == "")
{
cmd.Parameters.AddWithValue("@Email", "");
}
else
{
cmd.Parameters.AddWithValue("@Email", txtEmail.Text);
}
myConnection.Open();
int rows = cmd.ExecuteNonQuery();
MessageBox.Show(rows + " rows affected!");
myConnection.Close();
}
}
else
{
lblNotification.Text = "Everything is required.";
}
}
什麼是Dateofbirth對象? – David
附註:'middlename'和'Email'的if語句是毫無意義的 – TheLethalCoder
'connString'是否有正確的值? – TheLethalCoder