怎么快便地获取数据表中某字段的最大值?

时间:2021-06-30 15:35:38
怎么获取数据表(tb_LeaveWord)中某字段(bianhao)的最大值。
bianhao是int型的,能不能定义一个int变量bmax,然后用bmax=(……)得到最大值?

例子:
    字段名: conten        bianhao
             xxxx           1
           yyyy           2


使用……代码后得到bmax=2

有详细实现代码的请留下珍贵的留言!!!根据我提供的表和字段写下代码,谢谢了!!!


完全只是说个思路的就请不要浪费笔墨了,谢了。

12 个解决方案

#1



Select Max(bianhao) from tb_LeaveWord

#2


declare @bmax int
select @bmax=max(bianhao) from tb_LeaveWord

#3


引用 1 楼 yhb417 的回复:
SQL code
Select Max(bianhao) from tb_LeaveWord



怎么将Max(bianhao)赋值给bmax呢?直接bmax=Max(bianhao)吗?

#4


补充下,我现在写代码的环境是vs,用的语言是c#

#5


引用 3 楼 huanghui19860205 的回复:
怎么将Max(bianhao)赋值给bmax呢?直接bmax=Max(bianhao)吗?




declare @bmax int 
Select  @bmax=Max(bianhao) from tb_LeaveWord

是啊。。

#6


引用 5 楼 yhb417 的回复:
引用 3 楼 huanghui19860205 的回复:
怎么将Max(bianhao)赋值给bmax呢?直接bmax=Max(bianhao)吗? 
 



SQL code
declare @bmax int 
Select  @bmax=Max(bianhao) from tb_LeaveWord



是啊。。 



但好像有点问题,当实现两次后,数据表里有两行数据时就发现错误了。

#7


引用 6 楼 huanghui19860205 的回复:
但好像有点问题,当实现两次后,数据表里有两行数据时就发现错误了。

不会的。你要实现什么?

#8


declare @bmax int 
Select  @bmax=Max(bianhao) from tb_LeaveWord

#9


引用 7 楼 yhb417 的回复:
引用 6 楼 huanghui19860205 的回复:

但好像有点问题,当实现两次后,数据表里有两行数据时就发现错误了。 
 
不会的。你要实现什么? 



就是为了实现一个插入功能,代码就像下面一样,你帮看下是不是哪边出问题了,尤其是插入代码那行,是不是引号加错了。
bianhao是int类型的。

string strsql = "select MAX(bianhao) from tb_LeaveWord";
int bMax = find_bmax(strsql);
string bh = Convert.ToString(bMax + 1);
SqlConnection myconn = GetConnection();
myconn.Open();
string sqlstr = "insert into tb_leaveWord(Uno,Uname,Subject,Content,Datetime,Ip,bianhao) select '" + no + "','" + name + "','" + TextBox2.Text.Trim() + "','" + FreeTextBox1.Text.Trim() + "','" + DateTime.Now + "','" + IP + "','"+bh+"'"+" from tb_LeaveWord";
SqlCommand mycmd = new SqlCommand(sqlstr, myconn);
mycmd.ExecuteNonQuery();
myconn.Close();
Response.Write("<script language='javascript'>alert('留言成功');</script>");

#10


学习了,等待高手来解答~

#11


 find_bmax()这个是什么函数?

#12


用其他方式解决了我的编号问题了,不取最大值了。

#1



Select Max(bianhao) from tb_LeaveWord

#2


declare @bmax int
select @bmax=max(bianhao) from tb_LeaveWord

#3


引用 1 楼 yhb417 的回复:
SQL code
Select Max(bianhao) from tb_LeaveWord



怎么将Max(bianhao)赋值给bmax呢?直接bmax=Max(bianhao)吗?

#4


补充下,我现在写代码的环境是vs,用的语言是c#

#5


引用 3 楼 huanghui19860205 的回复:
怎么将Max(bianhao)赋值给bmax呢?直接bmax=Max(bianhao)吗?




declare @bmax int 
Select  @bmax=Max(bianhao) from tb_LeaveWord

是啊。。

#6


引用 5 楼 yhb417 的回复:
引用 3 楼 huanghui19860205 的回复:
怎么将Max(bianhao)赋值给bmax呢?直接bmax=Max(bianhao)吗? 
 



SQL code
declare @bmax int 
Select  @bmax=Max(bianhao) from tb_LeaveWord



是啊。。 



但好像有点问题,当实现两次后,数据表里有两行数据时就发现错误了。

#7


引用 6 楼 huanghui19860205 的回复:
但好像有点问题,当实现两次后,数据表里有两行数据时就发现错误了。

不会的。你要实现什么?

#8


declare @bmax int 
Select  @bmax=Max(bianhao) from tb_LeaveWord

#9


引用 7 楼 yhb417 的回复:
引用 6 楼 huanghui19860205 的回复:

但好像有点问题,当实现两次后,数据表里有两行数据时就发现错误了。 
 
不会的。你要实现什么? 



就是为了实现一个插入功能,代码就像下面一样,你帮看下是不是哪边出问题了,尤其是插入代码那行,是不是引号加错了。
bianhao是int类型的。

string strsql = "select MAX(bianhao) from tb_LeaveWord";
int bMax = find_bmax(strsql);
string bh = Convert.ToString(bMax + 1);
SqlConnection myconn = GetConnection();
myconn.Open();
string sqlstr = "insert into tb_leaveWord(Uno,Uname,Subject,Content,Datetime,Ip,bianhao) select '" + no + "','" + name + "','" + TextBox2.Text.Trim() + "','" + FreeTextBox1.Text.Trim() + "','" + DateTime.Now + "','" + IP + "','"+bh+"'"+" from tb_LeaveWord";
SqlCommand mycmd = new SqlCommand(sqlstr, myconn);
mycmd.ExecuteNonQuery();
myconn.Close();
Response.Write("<script language='javascript'>alert('留言成功');</script>");

#10


学习了,等待高手来解答~

#11


 find_bmax()这个是什么函数?

#12


用其他方式解决了我的编号问题了,不取最大值了。