声明的变量ID2同时会有多个值 但只能取一个值

qq_35495792 2017-04-27 12:39:14
string ConnSql2 = System.Configuration.ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
OleDbConnection Conn2 = new OleDbConnection(ConnSql2);
Conn2.Open();
string SelectSql1 = "select [user id] from [connection zp] where [companyname] ='" + id1 + "'";
OleDbCommand cmd1 = new OleDbCommand(SelectSql1, Conn2);
cmd1.ExecuteNonQuery();
OleDbDataReader dr1 = cmd1.ExecuteReader();

if (dr1.Read())
{

string id2 = dr1["user id"].ToString().Trim();


string ConnSql5 = System.Configuration.ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
OleDbConnection Conn5 = new OleDbConnection(ConnSql5);
Conn5.Open();
string cmdstr5 = "select * from [users] where [ID] =" + id2 + "";
OleDbDataAdapter sda5 = new OleDbDataAdapter(cmdstr5, Conn5);
DataSet ds = new DataSet();
sda5.Fill(ds, "users");
GridView1.DataSource = ds.Tables["users"];
GridView1.DataKeyNames = new string[] { "ID" };
GridView1.DataBind();
Conn5.Close();
GridView1.Visible = true;
dr1.Close();


}
...全文
277 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2017-04-28
  • 打赏
  • 举报
回复
if (dr1.Read())就是一次啊 要多条记录 使用while(dr1.Read()) 方法。 一些不好的习惯: 字段名 标名不要带空格 如果id2有多个值,那就不是数字类型的了 你需要使用 in查询 你要明白是一条记录有多个值还是一个字段有多条记录 如果dr1有多条记录,则GridView1.DataBind();就没有用了,它只能显示最后一条记录的内容
php_wsd 2017-04-27
  • 打赏
  • 举报
回复
使用两表联合查询

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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