代码为:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
ConStr=ConfigurationSettings.AppSettings["ConStr"];
Conn=new SqlConnection(ConStr);
bsf=Request.QueryString["bsf"].Trim().ToString();
yyz_sql="select bh from ZYJHYSJ,RY,YYZ where RY.ryid=YYZ.ryid AND ZYJHYSJ.bsf=YYZ.bsf AND ZYJHYSJ.bsf='"+bsf+"'";
sjz_sql="select distinct bh from ZYJHYSJ,RY,SJZ where SJZ.ryid=RY.ryid AND ZYJHYSJ.bsf=SJZ.bsf AND ZYJHYSJ.bsf='"+bsf+"'";
xgzy_sql="select xgbsf from ZYJHYSJ,XGZY where ZYJHYSJ.bsf=XGZY.bbsf AND ZYJHYSJ.bsf='"+bsf+"'"; if(!this.IsPostBack)
{
SqlDataAdapter all_cmd=new SqlDataAdapter(all_sql,Conn);
SqlDataAdapter yyz_cmd=new SqlDataAdapter(yyz_sql,Conn);
SqlDataAdapter sjz_cmd=new SqlDataAdapter(sjz_sql,Conn);
SqlDataAdapter xgzy_cmd=new SqlDataAdapter(xgzy_sql,Conn);
DataSet ds=new DataSet();
this.Conn.Open();
all_cmd.Fill(ds,"all");
yyz_cmd.Fill(ds,"yyz");
sjz_cmd.Fill(ds,"sjz");
xgzy_cmd.Fill(ds,"xgzy");
this.Conn.Close();
bt.Text=ds.Tables["all"].Rows[0]["bt"].ToString().Trim(); }
----------------------------------------------------------------------------------------
执行all_cmd.Fill 这个没有问题,但是到了yyz_cmd.fill,就出现了问题,接下来的sjz_cmd.Fill、xgzy_cmd.Fill都是提示列名 'ryid' 无效,但是这几个SQL语句我明明在SQL查询分析器上能正确的搜索到数据的啊,大家帮帮忙呀,我再做不出来领导会批死我的555555555555555555555555
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
ConStr=ConfigurationSettings.AppSettings["ConStr"];
Conn=new SqlConnection(ConStr);
bsf=Request.QueryString["bsf"].Trim().ToString();
yyz_sql="select bh from ZYJHYSJ,RY,YYZ where RY.ryid=YYZ.ryid AND ZYJHYSJ.bsf=YYZ.bsf AND ZYJHYSJ.bsf='"+bsf+"'";
sjz_sql="select distinct bh from ZYJHYSJ,RY,SJZ where SJZ.ryid=RY.ryid AND ZYJHYSJ.bsf=SJZ.bsf AND ZYJHYSJ.bsf='"+bsf+"'";
xgzy_sql="select xgbsf from ZYJHYSJ,XGZY where ZYJHYSJ.bsf=XGZY.bbsf AND ZYJHYSJ.bsf='"+bsf+"'"; if(!this.IsPostBack)
{
SqlDataAdapter all_cmd=new SqlDataAdapter(all_sql,Conn);
SqlDataAdapter yyz_cmd=new SqlDataAdapter(yyz_sql,Conn);
SqlDataAdapter sjz_cmd=new SqlDataAdapter(sjz_sql,Conn);
SqlDataAdapter xgzy_cmd=new SqlDataAdapter(xgzy_sql,Conn);
DataSet ds=new DataSet();
this.Conn.Open();
all_cmd.Fill(ds,"all");
yyz_cmd.Fill(ds,"yyz");
sjz_cmd.Fill(ds,"sjz");
xgzy_cmd.Fill(ds,"xgzy");
this.Conn.Close();
bt.Text=ds.Tables["all"].Rows[0]["bt"].ToString().Trim(); }
----------------------------------------------------------------------------------------
执行all_cmd.Fill 这个没有问题,但是到了yyz_cmd.fill,就出现了问题,接下来的sjz_cmd.Fill、xgzy_cmd.Fill都是提示列名 'ryid' 无效,但是这几个SQL语句我明明在SQL查询分析器上能正确的搜索到数据的啊,大家帮帮忙呀,我再做不出来领导会批死我的555555555555555555555555
解决方案 »
- 在MVC3.0 中Create页面 如果项 为dropdownlist 如何在项文字前面中添加空格?来划分层析。
- 在网站访问时,我想通过访问文件夹而自动访问文件夹下的页面
- ASP.NET做网站遇到的几个棘手问题
- 简单问下,url分页方式支不支持ajax?
- 请教各位大侠?
- 求救,DataView取数据问题?
- 我的*.aspx和它的*.aspx.cs好像一点关系都没有了呢,太奇怪了
- 关于Repeater绑定的问题
- 为什么我在asp.net中执行了这个语句后:Response.Cookies("aspsky")("password") = strHashPsw,返回到另一个页面后,取值其它的cookie怎么
- 一个页面不允许有两个<form>吗?
- _________关于css调用的问题!谢谢前辈们指点!
- 一个关于树控件的问题!!!
这句按F9设个断点,F5运行到断点后,VS。NET下面
的命令窗口取得:yyz_sql sjz_sql xgzy_sql三个字符串的值,
最后放到SQL查询分析器里面运行,看是否能正确执行。
我拷贝下来的值
select xgbsf from ZYJHYSJ,XGZY where ZYJHYSJ.bsf=XGZY.bbsf AND ZYJHYSJ.bsf='20403200'是这个,可以查到结果 xgbsj 的值是 20406610
但是在.net里总是提示
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------列名 'ryid' 无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 列名 'ryid' 无效。源错误:
行 70: this.Conn.Open();
行 71: all_cmd.Fill(ds,"all");
行 72: yyz_cmd.Fill(ds,"yyz");
行 73: sjz_cmd.Fill(ds,"sjz");
行 74: xgzy_cmd.Fill(ds,"xgzy");
源文件: e:\new_site\updata.aspx.cs 行: 72 堆栈跟踪:
[SqlException: 列名 'ryid' 无效。]
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
_192._168._0._44.updata.Page_Load(Object sender, EventArgs e) in e:\new_site\updata.aspx.cs:72
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
您看看是怎么回事,谢谢啦!!
还有你传过来的值我看不到,建议用存储过程试试
all_cmd=new SqlDataAdapter(all_sql,Conn);
all_cmd.Fill(ds,"all");
all_cmd=new SqlDataAdapter(yyz_sql,Conn);
all_cmd.Fill(ds,"yyz");
all_cmd=new SqlDataAdapter(sjz_sql,Conn);
all_cmd.Fill(ds,"sjz");
all_cmd=new SqlDataAdapter(xgzy_sql,Conn);
all_cmd.Fill(ds,"xgzy");
往里添加参数,这样不容易出错,也容易维护!
在sql server写一个存储过程。SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings.Get("Constr"));
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Text = "FindTheDate"; // 存储过程名
SqlParameter param = null;
param = cmd.Parameters.Add("@firstParam",SqlDbType.Char,20);
param.Value = value;
...//类似添加参数SqlDataReader dr = cmd.ExcuteReader();
...
我才学,谢谢大家能教我
我不太明白什么是存储过程。
我想实现的目的就是把多个表添加到dataset中
我想数据显示在textbox中
但是我只会这一个方法,又没有更好的方法呢,谢谢大家能告诉我一下。
还有下一步我还要做修改这些数据呢
一点思路还没有呢,谢谢大家能支持我,我会努力的学习的!