每當我提出我的形式,它給了我一個錯誤代碼:無效列名稱的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