怎么样在Winform中用什么语句查询SQL 数据库两个表中不同的数据并显示在datagridv



给段代码 使用数据库是vs2005自带的sql express。当然 不同的数据库连接字符串不一样 但是GetDataSet(string sql, string tablename)
方法是通用的~参数sql是你sql查询语句 tablename是输出地表明 可以随便添

public static string ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=数据库文件路径;Integrated Security=True;Connect Timeout=30;User Instance=True";
public DataSet GetDataSet(string sql, string tablename)
{
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection(DataAccess.ConnectionString);
SqlDataAdapter da = new SqlDataAdapter(sql, con);
try
{
da.Fill(ds, tablename);
if (ds.HasChanges()) da.Update(ds);
}
catch (Exception ex)
{
MessageBox.Show("打开数据库表错误:" + ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
finally
{

con.Close();
con.Dispose();
da.Dispose();
}
return ds;
}

使用方法 datagridview1.datasource=GetDataSet("select * from student where name="姚明"","table1") //datagridview1当然是你winfrom里的一个datagridview
连接查询datagridview的数据源是dataset,dataset是内存数据库,那么其中有虚拟表
你把你连接查询得到的结果放在一张虚拟表中然后进行数据源绑定就ok了
你可以用视图关联两个,在视图中设置要显示的列,然后把视图作为datagridview的数据源。


Copyright © 2009-2011 All Rights Reserved.