【发布时间】:2015-05-05 11:43:44
【问题描述】:
我是 C# 和编程的新手...
当表单加载主键必须自动加载到组合框时,它必须自动从最后一个值生成+1..例如,如果COUNT值为0,那么它必须像这样添加EMP01
这是我的代码:
class PrimaryKeyIncrement
{
public void empPrimary() {
Dbconnection ObjDb = new Dbconnection();
ObjDb.ConnectWithDB();
string empPri = "SELECT COUNT(EmployeeID) AS PK FROM Employees";
SqlCommand Pri = new SqlCommand(empPri, ObjDb.conct);
SqlDataReader rd = Pri.ExecuteReader();
if(rd.Read()){
string pk = rd["PK"].ToString();
int IC = Int32.Parse(pk);
IC++;
string empPK = ("EMP")+IC.ToString();
EmployeesManager EM = new EmployeesManager();
EM.cmbEmployeeID.Items.Add(empPK).ToString();
}
}
我在EmployeesManager 表单加载中调用了empPrimary() 方法。 没有错误,但组合框中没有加载任何内容
请帮帮我主键应该用 String EMP 加一
【问题讨论】:
-
让您的数据库处理分配一个 PK。它会比你做得更好,这是它的工作的一部分,
-
在代码中添加主键不是一个好习惯。您需要在数据库中执行此操作,并且在显示时必须使用 DataTextField 和 DataValueField 来显示。
-
@Plutonix 是的,但它必须添加 EMP,所以我在数据库中为主键提供了 varchar,只有整数可以在数据库中自动递增,对吗?
-
@Ahamed - 看起来你只需要用户看到它有“EMP”,数据库最好像 plutonix 所说的那样处理自己的 PK
-
@Sayse 是啊!!但根据情况,我必须与“EMP”有关,这就是我挣扎的原因......
标签: c# sql combobox primary-key auto-increment