ちょっと頭がおかしくなりましたが、私はこの全体的な「コーディング」のことを一般的に新しくしています。私はあなたに何かを伝えることができるかどうかを知る。私は数日間グーグルで行っていて何も見つけられませんでしたが、それが自分のところで悪いのかどうか、あるいは私が本当に新しくて解決策がわからないということはわかりません。面。OdbcParameterCollectionはnull以外のOdbcParameter型オブジェクトのみを受け入れます
私はアプリケーション(Visual Studioの2010)をテストするために行くとき、すべてが現れると私は私のテキストボックスに情報を置くことができますが、私は提出を押すと、このエラーがポップアップ表示:
"The OdbcParameterCollection only accepts non-null OdbcParameter type objects. Parameter name: value"
とこのコード行を指しています:
cmd.Parameters.Add(pram[i]);
パラメータを間違って設定しているのか、INSERT INTO文を間違っているのか分かりません。必要に応じてASP.netコードを表示することもできます。私はあなたに何か情報を与えることができれば教えてください!先進的でありがとう!
私のC#のコードはこれです:
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)
{
OdbcConnection conn = new OdbcConnection(GetConnectionString());
string sql = "INSERT INTO tblcontacts (eventspecialist, phone, phone2, firstname, lastname, besttime, companyname, nonprofit, requesteddate, requestedtime, attendance, eventtype, other, leadsource, notes, catering, bar, damagedeposit, dancefloor) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
try
{
conn.Open();
OdbcCommand cmd = new OdbcCommand(sql, conn);
cmd.Parameters.Add("@SPECIALIST", OdbcType.NVarChar, 50).Value = eventspecialist;
cmd.Parameters.Add("@CUST_PHONE1", OdbcType.NVarChar, 50).Value = phone;
cmd.Parameters.Add("@CUST_PHONE2", OdbcType.NVarChar, 50).Value = phone2;
cmd.Parameters.Add("@CUST_FNAME", OdbcType.NVarChar, 50).Value = firstname;
cmd.Parameters.Add("@CUST_LNAME", OdbcType.NVarChar, 50).Value = lastname;
cmd.Parameters.Add("@BEST_TIME", OdbcType.NVarChar, 50).Value = besttime;
cmd.Parameters.Add("@COMPANY_NAME", OdbcType.NVarChar, 225).Value = companyname;
cmd.Parameters.Add("@NONPROFIT", OdbcType.NVarChar, 1).Value = nonprofit;
cmd.Parameters.Add("@REQ_DATE", OdbcType.NVarChar, 10).Value = requesteddate;
cmd.Parameters.Add("@REQ_TIME", OdbcType.NVarChar, 20).Value = requestedtime;
cmd.Parameters.Add("@ATTENDANCE", OdbcType.NVarChar, 50).Value = attendance;
cmd.Parameters.Add("@EVENT_TYPE", OdbcType.NVarChar, 50).Value = eventtype;
cmd.Parameters.Add("@OTHER_DESC", OdbcType.NVarChar, 225).Value = other;
cmd.Parameters.Add("@LEAD_SOURCE", OdbcType.NVarChar, 50).Value = leadsource;
cmd.Parameters.Add("@NOTES", OdbcType.NVarChar, 225).Value = notes;
cmd.Parameters.Add("@CATERING", OdbcType.NVarChar, 1).Value = catering;
cmd.Parameters.Add("@BAR", OdbcType.NVarChar, 1).Value = bar;
cmd.Parameters.Add("@DAMAGE_DEPOSIT", OdbcType.NVarChar, 19).Value = damagedeposit;
cmd.Parameters.Add("@DANCE_FLOOR", OdbcType.NVarChar, 19).Value = dancefloor;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
catch (System.Data.Odbc.OdbcException 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)
{
}
protected void submit_Click(object sender, EventArgs e)
{
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);
conform.Visible = true;
Control frm = this.FindControl("form1");
foreach (Control ctrl in frm.Controls)
{
if (ctrl is TextBox)
{
((TextBox)ctrl).Text = "";
}
else if (ctrl is CheckBox)
{
((CheckBox)ctrl).Checked = false;
}
else if (ctrl is DropDownList)
{
((DropDownList)ctrl).SelectedIndex = 0;
}
}
}
どのデータベースサーバーでmysqlを使用していますか? – Devjosh
SQL Server Native Client 10.0にODBCデータソースを使用しています。それがあなたが求めていたものなら? – Control
なぜSqlClientを使用していませんか? http://msdn.microsoft.com/en-us/library/system.data.sqlclient.aspx http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx – Lloyd