解決異常“SqlParameterCollection 只接受非空的 SqlParameter 類型對象。”

來源:互聯網
上載者:User

public void DataList_UpdateCommand(Object sender, DataListCommandEventArgs e)<br /> {<br /> string strName = ((Label)e.Item.FindControl("lblName")).Text;<br /> int intChinese = Int32.Parse(((TextBox)e.Item.FindControl("tbChinese")).Text);<br /> int intMath = Int32.Parse(((TextBox)e.Item.FindControl("tbMath")).Text);<br /> int intEnglish = Int32.Parse(((TextBox)e.Item.FindControl("tbEnglish")).Text);<br /> //更新資料庫中的資料<br /> string strUpdate = "Update Score Set Chinese=@intChinese,Math=@intMath,English=@intEnglish Where Name=@strName";<br /> SqlParameter[] paras = new SqlParameter[10];<br /> paras[0] = new SqlParameter("@strName", SqlDbType.VarChar);<br /> paras[0].Value = strName;</p><p> paras[1] = new SqlParameter("@intChinese", SqlDbType.Int);<br /> paras[1].Value = intChinese;</p><p> paras[2] = new SqlParameter("@intMath", SqlDbType.Int);<br /> paras[2].Value = intMath;</p><p> paras[3] = new SqlParameter("@intEnglish", SqlDbType.Int);<br /> paras[3].Value = intEnglish;</p><p> bool temp = NewsDB.Getcmd(strUpdate, paras);<br /> score.EditItemIndex = -1;<br /> ListBind();<br /> }

一直報錯“SqlParameterCollection 只接受非空的 SqlParameter 類型對象”。

後來將

SqlParameter[] paras = new SqlParameter[10];

改成

SqlParameter[] paras = new SqlParameter[4];

以後解決錯誤。

SqlParameter[] paras = new SqlParameter[10];

是我從別的地方拷貝過來的,而不是自己寫的。現在越來越發現拷貝代碼雖然快,但是往往存在許多連自己都不易發現的錯誤。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.