C# access怎么实现自动编号
我在用C#winform编程,数据库是access.我想问下如何获取某个字段的最大值(不用考虑删除后数值混乱,只要求最大值).我现在有个表叫Student,里面有个字段S...
我在用C# winform 编程,数据库是access.我想问下如何获取某个字段的最大值(不用考虑删除后数值混乱,只要求最大值).我现在有个表叫Student,里面有个字段SFPrint,是文本型的,默认值是0.我希望在c#当中,窗体的textbox显示的是SFPrint的最大值加一,从而实现自动编码的功能.
下面是自己尝试写的代码,但还不全,希望大神们帮帮忙(我在初始化中对textbox进行赋值,实现自动编号)
public StuFrm()
{
InitializeComponent();
//MessageBox.Show("1");
/**************在这里初始化指纹编号**************/
string oleDBString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source = F:\visual studio 2010\Projects\Graduation Project\g_pData.mdb";
OleDbConnection conn = new OleDbConnection(oleDBString);
conn.Open();
string sql = "SELECT MAX(SFPrint) FROM Student";
OleDbCommand cmd = new OleDbCommand(sql, conn);
if(cmd.ExecuteNonQuery()!= 0)
{
}
} 展开
下面是自己尝试写的代码,但还不全,希望大神们帮帮忙(我在初始化中对textbox进行赋值,实现自动编号)
public StuFrm()
{
InitializeComponent();
//MessageBox.Show("1");
/**************在这里初始化指纹编号**************/
string oleDBString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source = F:\visual studio 2010\Projects\Graduation Project\g_pData.mdb";
OleDbConnection conn = new OleDbConnection(oleDBString);
conn.Open();
string sql = "SELECT MAX(SFPrint) FROM Student";
OleDbCommand cmd = new OleDbCommand(sql, conn);
if(cmd.ExecuteNonQuery()!= 0)
{
}
} 展开
1个回答
展开全部
string sql = "SELECT MAX(SFPrint) FROM Student";改为:
string sql = "SELECT MAX(SFPrint)+1 as MaxPrint FROM Student";
if(cmd.ExecuteNonQuery()!= 0)改为:
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
textbox1.Text=dr.GetValue(0).ToString();
}
追答
我用的是SQL,忘记了你用的是Access,你把SqlDataReader 改为OleDbDataAdapter即可!
追问
万分感谢!!!!雪中送炭呀!!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询