SQL 语句跟DataSet 的问题

ThatMan 2005-11-25 08:42:44
string str1="select code,name,sex from sometable1";
SqlDataAdapter sda1=new SqlDataAdapter(str1,myConnection);
DataSet ds1=new DataSet();
sda1.Fill(ds1,"somtable1");
sda1.dispose();

//就是下面的 where 条件不知道该如何判断,code,name,sex 三个字段必须跟ds1里的三个字段的
//值一样,不晓得该怎么样进行比较。
string str2=" select * "+
" from someotable2 "+
" where code="+ds1.Tables["sometable1"].Columns["code"]+
" and name="+ds1.Tables["sometable1"].Columns["name"]+
" and sex="+ds1.Tables["sometable1"].Columns["sex"]+

SqlDataAdapter sda2=new SqlDataAdapter(str2,myConnection);

DataSet ds2=new DataSet();
sda2.Fill(ds2,"sometable2");
myDataGrid.DataSource=ds2.Tables["sometable2"].DefaultView;
myDataGrid.DataBind();
sda2.Dispose();
myConnection.Close();

中间的 where code=... and name=... and sex=..."是从ASP里迁过来的,不知道是否对。
大侠们,指点指点吧,谢过了先。
...全文
113 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
HAVENT 2005-11-26
  • 打赏
  • 举报
回复
where code='"+ds1.Tables["sometable1"].Rows[i]["code"].ToString()+"'"+...

这句单引号是对的,下面的他可能没引到

单引号是作为转义字符,单引号内的内容SQL将不做解析和处理
ThatMan 2005-11-26
  • 打赏
  • 举报
回复
to: singlepine(小山)
单引号是做什么用的? 我试过了,不行。
vivianfdlpw 2005-11-25
  • 打赏
  • 举报
回复
string str2=
" select * "+
" from someotable2 "+
" where code='"+ds1.Tables["sometable1"].Rows[i]["code"].ToString()+"'"+
" and name='"+ds1.Tables["sometable1"].Rows[i]["name"].ToString()+"'"+
" and sex="+ds1.Tables["sometable1"].Rows[i]["sex"].ToString()
vivianfdlpw 2005-11-25
  • 打赏
  • 举报
回复
string str2=
" select * "+
" from someotable2 "+
" where code='"+ds1.Tables["sometable1"].Rows[i].Columns["code"].ToString()+"'"+
" and name='"+ds1.Tables["sometable1"].Rows[i].Columns["name"].ToString()+"'"+
" and sex="+ds1.Tables["sometable1"].Rows[i].Columns["sex"].ToString()
downmoon 2005-11-25
  • 打赏
  • 举报
回复

string str2 ="select * from someotable2 where code='{0}' and name='{1]' and sex='{2}'";
str2 =string.Format(str2,ds1.Tables["sometable1"].Columns["code"],ds1.Tables["sometable1"].Columns["name"],ds1.Tables["sometable1"].Columns["sex"]);
singlepine 2005-11-25
  • 打赏
  • 举报
回复
string str2=" select * ";
str2+=" from someotable2 ";
str2+=" where code="+"'"+ds1.Tables["sometable1"].Columns["code"].ToString()+"'";
str2+=" and name="+"'"+ds1.Tables["sometable1"].Columns["name"].ToString()+"'";
str2+=" and sex="+"'"+ds1.Tables["sometable1"].Columns["sex"].ToString()+"'";
zouqiang122 2005-11-25
  • 打赏
  • 举报
回复
支持一下!!!
zerocoin 2005-11-25
  • 打赏
  • 举报
回复
ds1.Tables["sometable1"].Columns["code"]似乎这类句子要加个ToString()吧?
postfix2 2005-11-25
  • 打赏
  • 举报
回复
可以,不过.net都是把数据访问层写到连接迟的,表示层是一般是不写SQL语句的!看看微软的petshop做法吧!

62,039

社区成员

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

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

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

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