㈠ 求助:指定的參數超出有效值范圍
你代碼也沒貼出來,很難說的清楚,我幫你說下造成的原因,然後你自己仔細檢查。
造成這樣的原因1:就是你指定的索引超出了范圍,比如你一共才5列,你指定了索引為答銀讓5就超出范圍了,要指定4才行,因為索引是從0開始計算的。
第清局二點:就是你指定的列名可能錯誤,所以找不到的情況下也會提示索引超出范圍。
比如你通過鍵來查找,數組.列集合["鍵名"],如果你搏肢指定的這個鍵名不存可能也會報這個錯。
總之你自己檢查下,看看你的表裡一共有幾列,當然隱藏的列也要算進去的。
㈡ sql server 2005外圍應用配置器超出有效值范圍
最多需要把 配置工具--SQL Server Configuration Manager--SQL Server 2005服務的
SQL Server(SQLEXPRESS)和SQL Server(MSSQLSERVER)服務啟動
SQL Server 2005 遠攜晌程連咐神接
配置TCP/IP屬性.
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT
SQL Server 外圍應用配置器—服務和連接外圍配置—database englie—遠程連接—啟用(遠程連接的衡隱虧TCP/IP和named pipes)
SQL Server Configuration Manager—SQL2005網路配置—啟用TCP/IP和named pipes
㈢ 指定的參數已超出有效值的范圍
從你的題目看,應該是SQL查詢時所拋出的異常。當你的SQL語句試圖更新不存在的ROW(行)或Column(列)時或者你更新的數據類型不同或字元的長度超出列的限制都會拋出異常。因為你沒有列出資料庫里表的架構因此還不能根據你的源碼確認你在哪點出錯閉簡了。
另外你最好使用SqlParameter參與建立查詢語句,否則你族嫌的查詢語句稍不注意就會出現參數語法的錯誤尤其在字元、時間、關鍵字等方面很容易出現難以察覺的問題。
看到你補充表的架構了.
注兆態手意一下,SQL Server的DataTime類型與.net的是不同的。建議你還是讓SqlParameter幫你轉換吧
另外,你的SQL語句UPDATE命令怎麼沒有WHERE的語句,那查詢怎麼知道你要更新哪一行啊。
如果你是增加記錄請用INSERT INTO 命令。
如果你是修改記錄請用UPDATE tableName SET ...WHERE STUD_ID=...
你參考一下吧:
sqlcon = new SqlConnection(strCon );
string sqlstr ="update STUD_INFO set STUD_NAME=@STUD_NAME,STUD_BIRTHDAY=@STUD_BIRTHDAY,STUD_GENDER=@STUD_GENDER,STUD_ADDRESS=@STUD_ADDRESS,STUD_TELEPHONE=@STUD_TELEPHONE,STUD_ZIPCODE=@STUD_ZIPCODE,STU_MARK=@STU_MARK where STUD_ID=@STUD_ID";
sqlcom = new SqlCommand(sqlstr,sqlcon );
sqlcom.Parameters.Add(new SqlParameter("@STUD_NAME",SqlDbType.NVarChar,GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim()));
sqlcom.Parameters.Add(new SqlParameter("@STUD_BIRTHDAY",(DateTime)..../*將生日轉為DateTime類型*/);
/*把其它列的參數加入,包括@STUD_ID*/
...............
...............
sqlcon.Open();
..........
/*最後清除參數集合*/
sqlcom.Parameters.Clear();
㈣ SQL語句整數值超出范圍和studentno的錯誤是怎麼回事
指定的參數已超出有效值的范圍。
參數名: rowIndex
這個說爛升隱明有飢廳時候你的ds中沒有table表了,
cmd里的SQL 取不到數據
ds.Tables[0]當然不笑瞎存在 指定的參數已超出有效值的范圍
先確定SQL
㈤ 指定的參數已超出有效值的范圍。
e.Row.Cells[5]
認真數一下,是5,還是4?
㈥ 指定的參數已超出有效值的范圍。 參數名: index
string OA_UName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString();
改成
string OA_UName = (GridView1.Rows[e.RowIndex].FindControl("控岩大件粗譽豎ID"虛凱) as TextBox).Text;
㈦ 指定的參數已超出有效值的范圍。 參數名: index
string sql = "delete from SB where Sno='" + Sno.Text + "'and Bno='"+Bno +"'";
你這一句的Bno應埋虛該是一個對象,不能直彎慧燃接用,應該碧辯是Bno.Text
㈧ 指定的參數已超出有效值的范圍. index
代碼是如此的不規范。沒有任何的為空判斷,沒有任何的開辟資料庫連接成功的判斷。滲知飢你就能保證每一行記錄的每一個字猛談段沒有一叢返個等於null的。還有你的資料庫表的欄位數是否一定滿足你的控制項列數。
㈨ 指定的參數已超出有效值的范圍。 參數名: index
通篇看,代碼應態嫌該是沒問題的,可能出這森閉橋個異常的代碼可能是:
Sno = (TextBox)UpdateSB.Rows[e.RowIndex].Cells[0].Controls[0];
Bno = (TextBox)UpdateSB.Rows[e.RowIndex].Cells[1].Controls[0];
這兩個找控制項的地方和你的Mybind方法。
找控制項建此猛議你用UpdateSB.Rows[e.RowIndex]。FindControl("name")這樣可讀性高些。
還有,建議你自己調試一下吧。