css - 当我知道值不是空白时,Asp.net 参数显示为空
问题描述
传递我知道存在的值时出现以下错误。
System.Data.OleDb.OleDbException: 'No value given for one or more required parameters.'
我正在填充一个具有单个输出的网格视图。然后我使用它来填充新的网格视图。
OleDbConnection conn1 = new OleDbConnection();
string path1 = Server.MapPath("Price_List.xlsx");
String connString1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 12.0;IMEX=1;'";
conn1.ConnectionString = connString1;
conn1.Open();
OleDbCommand cmd1 = new OleDbCommand("select * from [Sheet1$] Where [Meter Type] =" + GridView1.Rows[0].Cells[0].Text, conn1);
OleDbDataReader rd1 = cmd1.ExecuteReader();
GridView2.DataSource = rd1;
GridView2.DataBind();
我知道代码
GridView1.Rows[0].Cells[0].Text
显示了网格视图 1 中的单出,因为我在文本框中对此进行了测试,并显示了我要显示的内容。
我看不出哪里出错了。
解决方案
假设 [Meter Type] 是一个字符串字段,您在 sql 中缺少单引号:
OleDbCommand cmd1 = new OleDbCommand("select * from [Sheet1$] Where [Meter Type] = '" + GridView1.Rows[0].Cells[0].Text + "'", conn1);
推荐阅读
- sql-server - SQL Server:插入到链接服务器
- ldap - LDAP 和 OpenLDAP 有什么区别
- javascript - 循环一个 JavaScript 对象
- java - 如何获取远程机器的网络使用情况
- python - 将函数 (MinCovDet) 应用于 Pandas Dataframe 滚动窗口(nxm 数组)
- ios - 如何为 UIViewController 的第一个视图提供带有乘数的垂直间距
- selenium - 通过命令行的TestNG错误:无法实例化类testCases.LoginPage
- sql - DDL 命令即使失败也会提交事务
- javascript - 如何防止我的“推送”将所有内容放在一个数组中?
- c# - UI 文本没有呈现,而是出现在层次结构中——缺少什么?