当前位置:首页 » 编程语言 » sql指定的参数已超出有效值
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql指定的参数已超出有效值

发布时间: 2023-05-16 18:31:20

㈠ 求助:指定的参数超出有效值范围

你代码也没贴出来,很难说的清楚,我帮你说下造成的原因,然后你自己仔细检查。
造成这样的原因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")这样可读性高些。
还有,建议你自己调试一下吧。