求助SQL高手(winform`MySQL)

OROCHIORI35 2009-11-07 08:07:42
一个textBox1 一个button1.
当点击button1时的逻辑是:
通过 BatchQty(批次数量) 和 PointQty(积分值) 两个条件的值
从数据库中返回ID号(ID是主键 递增的 INT型)

举个例子:
比如某个表中,ID号为1234的这一行中的BatchQty值为1000 PointQty值为500

那么

我就在程序中定义了两个INT变量 int batch= 1000 int point =500;
点击button1的时候,textBox1显示的值为1234。
求高手指点一下,主程序是我写的 对数据库的操作是另一个人写的,但那个人出差了,客户这个时候找过来啦..限下周一交工....
希望高手能帮忙看看,最好能写出代码。谢谢了!!!感激不尽!!!!!!!!
PS:因为要操作的是MySQL数据库,在网上找到个贴边的例子整理了下,下面是例子代码
——————————————————————————————————————————————
例子:

//类dbAccess是进行查询的SQL函数
class dbAccess
{

public string QueryProjectFromDb(string connectionString, string sql, ref ArrayList s)
{
MySqlConnection cnn = new MySqlConnection(connectionString);
cnn.Open();
MySqlCommand cmm = cnn.CreateCommand();
cmm.CommandText = sql;
MySqlDataReader dr = cmm.ExecuteReader();

while (dr.Read())
{
objProjects obj_temp = new objProjects();
obj_temp.setAutoID(Convert.ToInt32(dr[0]));
obj_temp.setBatchQty(Convert.ToInt32(dr[1]));
obj_temp.setpointQty(Convert.ToInt32(dr[2]));
s.Add(obj_temp);
}
return "";
}
}



//类objProjects定义了下变量属性
class objProjects
{
private int autoID = 0;
private int batchQty = 0;
private int pointQty = 0;

public objProjects() { }
public void setAutoID(int i) { this.autoID = i; }
public int getAutoID() { return this.autoID; }
public void setBatchQty(int i) { this.batchQty = i; }
public int getBatchQty() { return this.batchQty; }
public void setpointQty(int i) { this.pointQty = i; }
public int getpointQty() { return this.pointQty; }
}



//主程序:
private void button1_Click(object sender, EventArgs e)
{
string _sql = "";
dbAccess mydb = new dbAccess();

_sql = "SELECT AutoID,ProjectName,CodeLength,CodeType,BatchQty,PointQty From printprojectsetting";
string _sMessage = mydb.QueryProjectFromDb(connnectionString, _sql, ref _arrProjects);
if (_sMessage.Trim().Equals(""))
{
foreach (object obj in _arrProjects)
{
objProjects myObjProjects = (objProjects)obj;
//改成myObjProjects.getBatchQty就表示返回批次数量。改成getBatchQty.getpointQty就表示返回积分值
comboBox1.Items.Add(myObjProjects.getAutoID().ToString());
}
}
}
...全文
183 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
OROCHIORI35 2009-11-07
  • 打赏
  • 举报
回复
顶一下 再下载点资料结贴回家研究
OROCHIORI35 2009-11-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bancxc 的回复:]
公司电脑不能上网啊 够辛苦的
[/Quote]
公司电脑能上网 但是去公司太远了 坐车走路要40分钟 直接跑家附近网吧来了
OROCHIORI35 2009-11-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
class objProjects
    {
        private int autoID = 0;
        private int batchQty = 0;
        private int pointQty = 0;
        public objProjects() { }
        public void AutoID()
        {get{return autoID;}
          set  {autoID=value;} }
        public void BatchQty()
        {get{return batchQty ;}
          set  {batchQty =value;} }
        public void PointQty()  {get{return pointQty;}
          set  {pointQty=value;} }
    }

objProjects obj_temp = new objProjects();
obj_temp.AutoID=Convert.ToInt32(dr[0]);
  obj_temp.BatchQty=Convert.ToInt32(dr[1]);
obj_temp.PointQty=Convert.ToInt32(dr[2]);
获取属性值myObjProjects.gAutoID().ToString();
[/Quote]
谢谢人生如梦大哥,你帮我了很多次了 呵呵!!!
bancxc 2009-11-07
  • 打赏
  • 举报
回复
公司电脑不能上网啊 够辛苦的
OROCHIORI35 2009-11-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lxxlql 的回复:]
其实,你已经吧数据封装在类里面了,可以直接累的实例。getId()方法就可了
[/Quote]
那个例子我不太理解的 网上找的然后摘出来部分和自己想要的东西贴近的
OROCHIORI35 2009-11-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lxxlql 的回复:]
你现在要写sql语句吧。那很简单呀select id from BatchQty=1000 and PointQty =500
这样,你就可以的得到,id了,BatchQty和PointQty 事参数吧,根据这连个得到id 的吧。你现在只要把
BatchQty=‘你实际传入的参数’,PointQty 同理。希望对你有帮助。
[/Quote]
确定是这样写么
我记得是select ID FROM 表名 WHERE BatchQty=1000 and PointQty =500 这样格式啊
我人在网吧 暂时不能调试程序 特意为这个问题来上网的 愁死了 谢谢你啊
lxxlql 2009-11-07
  • 打赏
  • 举报
回复
简单的t-sql语句应该没有什么变化吧,对付lz这种需求应该可以了
wuyq11 2009-11-07
  • 打赏
  • 举报
回复
使用MYSQL数据库操作类
参考
lxxlql 2009-11-07
  • 打赏
  • 举报
回复
其实,你已经吧数据封装在类里面了,可以直接累的实例。getId()方法就可了
lxxlql 2009-11-07
  • 打赏
  • 举报
回复
你现在要写sql语句吧。那很简单呀select id from BatchQty=1000 and PointQty =500
这样,你就可以的得到,id了,BatchQty和PointQty 事参数吧,根据这连个得到id 的吧。你现在只要把
BatchQty=‘你实际传入的参数’,PointQty 同理。希望对你有帮助。
wuyq11 2009-11-07
  • 打赏
  • 举报
回复
class objProjects
{
private int autoID = 0;
private int batchQty = 0;
private int pointQty = 0;
public objProjects() { }
public void AutoID()
{get{return autoID;}
set {autoID=value;} }
public void BatchQty()
{get{return batchQty ;}
set {batchQty =value;} }
public void PointQty() {get{return pointQty;}
set {pointQty=value;} }
}

objProjects obj_temp = new objProjects();
obj_temp.AutoID=Convert.ToInt32(dr[0]);
obj_temp.BatchQty=Convert.ToInt32(dr[1]);
obj_temp.PointQty=Convert.ToInt32(dr[2]);
获取属性值myObjProjects.gAutoID().ToString();
OROCHIORI35 2009-11-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxxlql 的回复:]
这个SQL很难吗?BatchQty和PointQty这两个值是唯一的吗?如果是唯一的可以得到id,不是唯一肯能是多个id
select id from BatchQty=1000 and PointQty
[/Quote]
是唯一的 我发的就是举个例子 项目里那个是唯一的 数据库我没怎么接触过 不会弄
lxxlql 2009-11-07
  • 打赏
  • 举报
回复
这个SQL很难吗?BatchQty和PointQty这两个值是唯一的吗?如果是唯一的可以得到id,不是唯一肯能是多个id
select id from BatchQty=1000 and PointQty

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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