C#至少一个参数没有被指定值

出错在oda.Fill(ds);protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){... 出错在oda.Fill(ds);

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string sqlp = "select * from province";
this.ddlProv.DataSource = DB.GetDS(sqlp);
this.ddlProv.DataTextField = "province";
this.ddlProv.DataValueField = "provinceID";
this.ddlProv.DataBind();
string sqlc = "select * from city where father=" + this.ddlProv.DataValueField;
this.ddlCity.DataSource = DB.GetDS(sqlc);
this.ddlCity.DataTextField = "city";
this.ddlCity.DataValueField = "cityID";
this.ddlCity.DataBind();
string sqla = "select * from area where father=" + this.ddlCity.DataValueField;
this.ddlArea.DataSource = DB.GetDS(sqla);
this.ddlArea.DataTextField = "area";
this.ddlArea.DataValueField = "areaID";
this.ddlArea.DataBind();
}
}
public static DataSet GetDS(string sql)
{
OleDbConnection con = DB.CreateCon();
con.Open();
OleDbDataAdapter oda = new OleDbDataAdapter(sql, con);
DataSet ds = new DataSet();
oda.Fill(ds);
return ds;
}
ddlCity的值(市)是由ddlProv的值(省)所对应的ID确定下来,所以应该是SQL语句错了,不过要怎么改写呢?
展开
 我来答
匿名用户
推荐于2018-03-12
展开全部
sql查询语句,字符型参数需要加单引号限定!
WHERE P.[Ltype]='" + text + "' AND P.[DepID] ='" + u +"' ORDER BY InputTime DESC"
结尾的双引号不要丢!
st547687
2008-08-30 · 超过12用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:29.6万
展开全部
是你某个方法的实参不对,少了实参或者是类型有问题
出错在oda.Fill(ds);如果ds是个dataset类,你就少加个名称
可以改成oda.Fill(ds, "表名");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FantasyChump
2008-08-29 · TA获得超过3288个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2256万
展开全部
是SQL语句有列名或表名写错了,检查下。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kxl361
2008-08-29 · TA获得超过393个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:868万
展开全部
有空值,搂主在赋值前作一下检验就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式