C#如何对内存表进行查询

publicdatatablebiao;publicvoidasd(){System.Data.OleDb.OleDbConnectionobjConn=newSyste... public datatable biao;
public void asd()
{
System.Data.OleDb.OleDbConnection objConn = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\excell.xls;Extended Properties=Excel 8.0;");
DataSet ds = new DataSet();
string TJ = "SELECT * FROM [myRange1$]";
OleDbDataAdapter da = new OleDbDataAdapter(TJ, objConn);
try
{
da.Fill(ds);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
objConn.Close();
return;
}

biao = ds.Tables[0];
objConn.Close();
}
private void button1_Click(object sender, EventArgs e)
{
asd();
//dataGridView1.DataSource = biao;
DataSet ds = new DataSet();
string TJ = "SELECT * FROM biao where 姓名 = 张三";
OleDbDataAdapter da = new OleDbDataAdapter(TJ,);
try
{
da.Fill(ds);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
dataGridView1.DataSource = ds.Tables[0];
}
这个,asd函数是读取excel中的数据,并放入表biao中。
想实现,单击Button1时,对表biao进行查询,查询SQL为SELECT * FROM biao where 姓名 = 张三。
其中asd函数中的myrang1为excel中的工作表名。

可是button1_Click事件下,怎么连接表biao怎么写啊?
求解。
或者说白了,button1_Click事件怎么写?
展开
 我来答
pieryon
推荐于2017-09-19 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14411 获赞数:166866
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
1.DataTable empTable = new DataTable();
注释:定义了一个内存中的表empTable。

2.empTable.Columns.Add("ID", Type.GetType("System.String"));
注释:函数原型:public DataColumn Add(string columnName, Type type);
添加一个列名为“ID”,其对应的类型为“System.String”的列。这属于设计表的范畴。

3.empTable.Rows.Add(dataRow);
注释:向表empTable添加一行,其中dataRow的数据类型为DataRow。

4.SqlDataAdapter da = new SqlDataAdapter(sql, connection);
或者SqlDataAdapter da = new SqlDataAdapter(SqlCommand cmd);用这种类型也能得到da。
DataTable dt = new DataTable();
da.Fill(dt);
注释:new SqlDataAdapter的参数:sql为一个查询数据库的语句,connection是SqlConnection类型。
da.Fill(dt); 表示用从数据库中查找得到的表填充内存中的一张表
惜花时与aG
2009-12-29 · 超过11用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:43.2万
展开全部
遍历吧,我也不清楚有什么比遍历更好的办法,楼主你的问题我也遇到过,当时我就是遍历的数据做了个for循环,在循环里查询不符合要求的,只要有不符合要求的,就执行datatable.rows[0].delete();然后最后剩下的结果集就是符合要求的啊,取出来就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
azur2000
2009-12-29 · TA获得超过321个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:220万
展开全部
如果是3.5的框架,推荐使用LINQ,支持各种复杂查询以及排序、统计等等,写法很简单,随便找点技术文档速成下就OK。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蚊子咬成重伤
2009-12-29 · 超过12用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:36.6万
展开全部
biao.Select("姓名='张三'");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zoufeng1126
2009-12-29 · TA获得超过315个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:94.9万
展开全部
dataset有方法select提供条件查询。如下:
biao.Tables[0].Select("姓名 = 张三");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式