asp.net如何实现对oracle的多个表联合查询,并显示结果
首先我,想再页面上建两个文本框,一个按钮,根据文本框的 输入值来点击按钮查询显示结果。目前我把返回的值用dataset接受,然后用gridview绑定结果,你们觉得有问题吗?代码如下:
public DataSet GetDataSet(string name, string name1)
{
OracleConnection myCon = new OracleConnection();
myCon.ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.20.98.149)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bss)));User ID=bss;password=jiningbss";
//myCon.ConnectionString = "Data Source=localhost;Initial Catalog=master;Persist Security Info=True;User ID=sa;Password=x111333";
myCon.Open();
string sqlstr = "select a.*,b.party_name,c.remarks from a,b,c where a.id=b.id(+) and b.id=c.id(+) and a.方案 like '"+name+"'and to_char(a.时间,'yyyymmdd')>='"+name1+"'";
OracleCommand selectCMD = new OracleCommand(sqlstr, myCon);
OracleDataAdapter custDA = new OracleDataAdapter();
custDA.SelectCommand = selectCMD;
DataSet custDS = new DataSet();
custDA.Fill(custDS, "????");//请问这个地方填写什么?以前单表的时候我填写一个表名,现在多表了,如何填写?难道是custDA.Fill(custDS, "a","b","c");?
myCon.Close();
return custDS;
protected void Button2_Click1(object sender, EventArgs e)
{
string name = TextBox1.Text.ToString();
string name1 = TextBox2.Text.ToString();
DataSet ds = GetDataSet(name, name1);
if (ds.Tables[0].Rows.Count > 0)
{
GridView2.DataSource = ds;
GridView2.DataBind();
}
else
{
Response.Write("<script>alert('没有结果!');</script>");
}
}
}
请问如果那个FILL()地方需要填入什么,还有如果不用这种方法,还有其他好实现的根据条件多表查询,并显示结果吗?
--------------------编程问答-------------------- 你把你多表查询的结果返回一个DataTable 绑定就行了。 --------------------编程问答-------------------- 谢谢,目前已解决,直接就填一个值,去掉问号部分就可以了。
补充:.NET技术 , ASP.NET