求代码 依据girdview里某列中的值查找sql server里的数据

netboygg 2008-10-31 08:54:19
比方说把gridview1列1的值做为查询条件 找出sql数据库表里符合这个值的数据并绑定到gridview2

该怎么写?
...全文
154 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
netboygg 2008-10-31
  • 打赏
  • 举报
回复
先这样算了 谢谢前辈耐心读我的问题和回答
netboygg 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 jimu8130 的回复:]
唉,
1 你写的是循环查询没错
3 看不懂你写的,请仔细考虑好自己的措辞再回复,免得空耗时间

你的sql用的是什么where条件
[/Quote]

Select * from parttopart where superid= '" + value1 + "'

jimu8130 2008-10-31
  • 打赏
  • 举报
回复
唉,
1 你写的是循环查询没错
3 看不懂你写的,请仔细考虑好自己的措辞再回复,免得空耗时间

你的sql用的是什么where条件

netboygg 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 jimu8130 的回复:]
个人感觉你这样的界面以及你的表述表达容易让人产生误会:
1 你的gridview2到底是当用户选择任意gridview1的某行记录进行查询的结果还是直接就是gridview1所有记录的and拼接形成的一个查询条件所得到的结果?
2 是任一个记录所产生的结果,那么用户体验差不说,查询也没有太大意义
3 如果是所有记录拼接产生的条件,那么如果仅仅是and连接的话,也没有什么意义,毕竟某条记录的第二列字段值可能为空,那么and联系就查询不到…
[/Quote]

1 是一次gridview1的列2记录做个循环查询 所有的查询得到的结果集合
3 没有and 列2里值是查询的唯一条件

为什么得到的数据会和sql里一样啊?
jimu8130 2008-10-31
  • 打赏
  • 举报
回复
接18楼的第3个,另外还可能查询得不是正确的数据
jimu8130 2008-10-31
  • 打赏
  • 举报
回复
个人感觉你这样的界面以及你的表述表达容易让人产生误会:
1 你的gridview2到底是当用户选择任意gridview1的某行记录进行查询的结果还是直接就是gridview1所有记录的and拼接形成的一个查询条件所得到的结果?
2 是任一个记录所产生的结果,那么用户体验差不说,查询也没有太大意义
3 如果是所有记录拼接产生的条件,那么如果仅仅是and连接的话,也没有什么意义,毕竟某条记录的第二列字段值可能为空,那么and联系就查询不到数据了。
jimu8130 2008-10-31
  • 打赏
  • 举报
回复
呵呵,貌似?
本来就不对啊,假如gridview1列出的是所有的查询条件并且是and 的关系,那么就应该这样写(在你的基础稍微改了,不关注性能以及其他问题)
string strcon = System.Configuration.ConfigurationManager.AppSettings["pdmconn"];
SqlConnection sqlConn = new SqlConnection(strcon);
//DataTable da = new DataTable();
DataSet ds = new DataSet();
sqlConn.Open();
string sql = "Select * from parttopart where " ;
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow row = GridView1.Rows[i];
string value1 = GridView1.Rows[i].Cells[1].Text.ToString();
if(i=0)
sql +=" a1='"+value1;
else
sql +=" and a"+i.tostring()+"='"+value1+"'";
}


SqlDataAdapter sqlAdapter = new SqlDataAdapter(strSQL, sqlConn);
sqlAdapter.Fill(ds);
this.GridView2.DataSource = ds;
this.GridView2.DataBind();
sqlConn.Close();
netboygg 2008-10-31
  • 打赏
  • 举报
回复
gridview1里显示查询出来的所有数据
我那样写 貌似gridview2里查询数据和直接企业管理器里用sql查的数据一样?
大虾,哪里有不对的地方?请指出

全部的需求就是 gridview1里显示若干条数据,页面上有个按钮 点了以后 把gridview1列2里的每列数据都做为查询条件 所有每次查询结果的集合显示在gridview2里


gridview1 按钮--> gridview2

列1 列2 列
a1 a11(查询条件)
a2 a21(查询条件)
a3 a31(查询条件)
xrm2007 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 netboygg 的回复:]
string strcon = System.Configuration.ConfigurationManager.AppSettings["pdmconn"];
SqlConnection sqlConn = new SqlConnection(strcon);
//DataTable da = new DataTable();
DataSet ds = new DataSet();
sqlConn.Open();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow row = GridView1.Rows[i];
strin…
[/Quote]

我觉得好像不对啊(没有调试啊。。),正如楼上所说,gridview2只有根据你gridview1中最后一条记录所查得的记录了。你可以将你的sring strSql的定义放到for循环的上面,而在for循环里面只是对它进行赋值,注意不要覆盖,而是累加,即用strSql=strSql+"你的新查询语句",当for循环执行完了,你在用strSql的值去数据库查找,然后绑定给gridview2就可以了
jimu8130 2008-10-31
  • 打赏
  • 举报
回复
gridview1将要显示几条数据?

按你目前的写法,最终gridview2显示的可能是根据你gridview1的最后条记录的字段值查询到的东西

请问你到底要实现什么样的功能和页面,请详细完整的描述下行么?这样我看到一点不对就改一下效率太低了。
netboygg 2008-10-31
  • 打赏
  • 举报
回复
string strcon = System.Configuration.ConfigurationManager.AppSettings["pdmconn"];
SqlConnection sqlConn = new SqlConnection(strcon);
//DataTable da = new DataTable();
DataSet ds = new DataSet();
sqlConn.Open();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow row = GridView1.Rows[i];
string value1 = GridView1.Rows[i].Cells[1].Text.ToString();
string strSQL = "Select * from parttopart where (superid= '" + value1 + "')";
SqlDataAdapter sqlAdapter = new SqlDataAdapter(strSQL, sqlConn);
sqlAdapter.Fill(ds);
}
this.GridView2.DataSource = ds;
this.GridView2.DataBind();
sqlConn.Close();

请帮我看看 这样写对吗?谢谢
jimu8130 2008-10-31
  • 打赏
  • 举报
回复
我的意思是不用点gridview1 在页面上点按钮 然后一次读取完 再全部查询绑定
------------
请再整理下你措辞,能用图形表示的就用图形表示
netboygg 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jimu8130 的回复:]
唉,你还是没有回答我的问题,我后面特别提出要你说明下你目前是如何触发查询的?
是双击其中一条记录就让gridview2显示相应第二列数据查询得到的数据?还是其他怎么样的?
[/Quote]

对不起啊 初学者我

我的意思是不用点gridview1 在页面上点按钮 然后一次读取完 再全部查询绑定
lee576 2008-10-31
  • 打赏
  • 举报
回复
觉得楼主好像想做gridview的嵌套??
jimu8130 2008-10-31
  • 打赏
  • 举报
回复
唉,你还是没有回答我的问题,我后面特别提出要你说明下你目前是如何触发查询的?
是双击其中一条记录就让gridview2显示相应第二列数据查询得到的数据?还是其他怎么样的?
netboygg 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 netboygg 的回复:]
引用 6 楼 jimu8130 的回复:
建议楼主先把自己要实现什么功能前后环境说清楚,这样才能更好得解决问题

比如,你是如何触发gridview1的选定列的值去查询数据得到gridview2,需要比如不刷新等限制么?


gridview1里就2列 取第2列里的值 把列2里的值作为查询条件查sql表的数据并绑定到gridview2里
[/Quote]

刷不刷新没有限制,是要所有的列2里的值
netboygg 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jimu8130 的回复:]
建议楼主先把自己要实现什么功能前后环境说清楚,这样才能更好得解决问题

比如,你是如何触发gridview1的选定列的值去查询数据得到gridview2,需要比如不刷新等限制么?
[/Quote]

gridview1里就2列 取第2列里的值 把列2里的值作为查询条件查sql表的数据并绑定到gridview2里
jimu8130 2008-10-31
  • 打赏
  • 举报
回复
建议楼主先把自己要实现什么功能前后环境说清楚,这样才能更好得解决问题

比如,你是如何触发gridview1的选定列的值去查询数据得到gridview2,需要比如不刷新等限制么?
netboygg 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 BernardSun 的回复:]
gridview1数据是数据库的么,如果是不如直接sql连接查询了
[/Quote]

gridview1里的是从oracle里的 也需要显示在页面上 再sqlserver里查符合的
netboygg 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 BernardSun 的回复:]
gridview1数据是数据库的么,如果是不如直接sql连接查询了
[/Quote]

gridview1里的是从oracle里的 也需要显示在页面上 再sqlserver里查符合的
加载更多回复(3)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧