每当我提出我的形式,它给了我一个错误代码:无效列名称的SQL Server
“无效列名”的所有eventspecialist,电话,phon2等,@SPECIALIST,@CUST_PHONE的,@ CUST_PHONE2等
这是我的代码如下,也许我没有正确写入SQL语句或参数? @ infront的是我的数据库中的内容,其他小写字母是我的文本框。对于这种类型的编码我相对较新。
编辑:改变了我的INSERT INTO语句建议什么。错误仍然存在,但最小化为
“无效的列名eventspecialist,无效的列名电话,无效的列名phone2等”
private void execution(string eventspecialist, string phone, string phone2, string firstname, string lastname, string besttime, string companyname, string nonprofit, string requesteddate, string requestedtime, string attendance, string eventtype, string other, string leadsource, string notes, string catering, string bar, string damagedeposit, string dancefloor, string griddate, string gridnotes, string comments)
{
SqlConnection conn = new SqlConnection(GetConnectionString());
string sql = "INSERT INTO tblcontacts (@SPECIALIST, @CUST_PHONE1, @CUST_PHONE2, @CUST_FNAME, @CUST_LNAME, @BEST_TIME, @COMPANY_NAME, @NONPROFIT, @REQ_DATE, @REQ_TIME, @ATTENDANCE, @EVENT_TYPE, @OTHER_DESC, @LEAD_SOURCE, @NOTES, @CATERING, @BAR, @DAMAGE_DEPOSIT, @DANCE_FLOOR) VALUES (eventspecialist, phone, phone2, firstname, lastname, besttime, companyname, nonprofit, requesteddate, requestedtime, attendance, eventtype, other, leadsource, notes, catering, bar, damagedeposit, dancefloor)";
string sql2 = "INSERT INTO tblnotes (@NOTEDATE, @NOTEBY, @COMMENTS) VALUES (griddate, gridnotes, comments)";
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@SPECIALIST", SqlDbType.NVarChar, 50).Value = eventspecialist;
cmd.Parameters.Add("@CUST_PHONE1", SqlDbType.NVarChar, 50).Value = phone;
cmd.Parameters.Add("@CUST_PHONE2", SqlDbType.NVarChar, 50).Value = phone2;
cmd.Parameters.Add("@CUST_FNAME", SqlDbType.NVarChar, 50).Value = firstname;
cmd.Parameters.Add("@CUST_LNAME", SqlDbType.NVarChar, 50).Value = lastname;
cmd.Parameters.Add("@BEST_TIME", SqlDbType.NVarChar, 50).Value = besttime;
cmd.Parameters.Add("@COMPANY_NAME", SqlDbType.NVarChar, 225).Value = companyname;
cmd.Parameters.Add("@NONPROFIT", SqlDbType.NVarChar, 10).Value = nonprofit;
cmd.Parameters.Add("@REQ_DATE", SqlDbType.Date, 20).Value = requesteddate;
cmd.Parameters.Add("@REQ_TIME", SqlDbType.Time, 20).Value = requestedtime;
cmd.Parameters.Add("@ATTENDANCE", SqlDbType.Int, 50).Value = attendance;
cmd.Parameters.Add("@EVENT_TYPE", SqlDbType.NVarChar, 50).Value = eventtype;
cmd.Parameters.Add("@OTHER_DESC", SqlDbType.NVarChar, 225).Value = other;
cmd.Parameters.Add("@LEAD_SOURCE", SqlDbType.NVarChar, 50).Value = leadsource;
cmd.Parameters.Add("@NOTES", SqlDbType.NVarChar, 225).Value = notes;
cmd.Parameters.Add("@CATERING", SqlDbType.NVarChar, 1).Value = catering;
cmd.Parameters.Add("@BAR", SqlDbType.NVarChar, 1).Value = bar;
cmd.Parameters.Add("@DAMAGE_DEPOSIT", SqlDbType.NVarChar, 19).Value = damagedeposit;
cmd.Parameters.Add("@DANCE_FLOOR", SqlDbType.Money).Value = Decimal.Parse(dancefloor);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException ex_msg)
{
string msg = "Error occured while inserting";
msg += ex_msg.Message;
throw new Exception(msg);
}
finally
{
conn.Close();
}
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql2, conn);
cmd.Parameters.Add("@NOTEDATE", SqlDbType.Date, 50).Value = griddate;
cmd.Parameters.Add("@NOTEBY", SqlDbType.NVarChar, 50).Value = gridnotes;
cmd.Parameters.Add("@COMMENTS", SqlDbType.NVarChar, 50).Value = comments;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException ex_msg)
{
string msg = "Error occured while inserting";
msg += ex_msg.Message;
throw new Exception(msg);
}
finally
{
conn.Close();
}
}
protected void Page_Load(object sender, EventArgs e)
{
griddate.Text = DateTime.Now.ToString("yyyy/MM/dd");
}
protected void submit_Click(object sender, EventArgs e)
{
if (requesteddate.Text == "")
{
Finish.Text = "Please complete the form!";
}
else if (requestedtime.Text == "")
{
Finish.Text = "Please complete the form!";
}
else if (attendance.Text == "")
{
Finish.Text = "Please complete the form!";
}
else
{
execution(eventspecialist.Text, phone.Text, phone2.Text, firstname.Text, lastname.Text, besttime.SelectedItem.Text, companyname.Text, nonprofit.Text, requesteddate.Text, requestedtime.Text, attendance.Text, eventtype.SelectedItem.Text, other.Text, leadsource.SelectedItem.Text, notes.Text, catering.Text, bar.Text, damagedeposit.Text, dancefloor.SelectedItem.Text, griddate.Text, gridnotes.SelectedItem.Text, comments.Text);
Finish.Visible = false;
conform.Visible = true;
}
}
,你甚至这样做后的参数列表 – Steve 2012-03-09 14:03:04
反转的列名,我仍然得到错误“无效列名称替换代码eventspecialist,列名称电话无效,列名phone2无效等“。有任何想法吗? – Control 2012-03-09 14:10:00
数据库中的列的真实名称是什么? – Steve 2012-03-09 14:15:03