C# 使用字符串自动递增主键?
C# Auto Increment Primary Key with String?
我是 C# 和编程新手...
当表单加载主键必须自动加载到 comboBox 并且它必须从最后一个值自动生成 +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 Form load 中调用了 empPrimary() 方法。
没有错误,但组合框中没有加载任何内容
请帮我 主键应该用 String EMP 加一
string empPK = ("EMP")+IC.ToString(); // "EMP1"
string empPK = ("EMP")+IC.ToString("00"); // "EMP01"
为了处理 varchars 的自动递增,使用 table 映射对象 class 和整数。
AutoNumber([Type],[nextInt],[prefix])
'Employee',1,'EMP'
'Sales',0,'INV'
创建一个函数来检索新员工的下一个值(在您的情况下)
SELECT getAuto('Employee') // will return 'EMP01'
然后创建一个程序,在添加新员工
后自动增加 AutoNumber
table 的 nextInt
的值
您遇到问题的真正原因是因为您要添加到 new EmployeeManager 的组合框。您需要将对表单的引用传递到 EmpPrimary
... EmpPrimary(this); //in your forms form load
public void empPrimary(EmployeeManager form){ //change the method parameters
form.cmbEmployeeID.Items.Add(empPK); // Now use the form reference in method
正如 plutonix 所说,您应该让表单自己处理 PK
我是 C# 和编程新手...
当表单加载主键必须自动加载到 comboBox 并且它必须从最后一个值自动生成 +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 Form load 中调用了 empPrimary() 方法。 没有错误,但组合框中没有加载任何内容
请帮我 主键应该用 String EMP 加一
string empPK = ("EMP")+IC.ToString(); // "EMP1"
string empPK = ("EMP")+IC.ToString("00"); // "EMP01"
为了处理 varchars 的自动递增,使用 table 映射对象 class 和整数。
AutoNumber([Type],[nextInt],[prefix])
'Employee',1,'EMP'
'Sales',0,'INV'
创建一个函数来检索新员工的下一个值(在您的情况下)
SELECT getAuto('Employee') // will return 'EMP01'
然后创建一个程序,在添加新员工
后自动增加AutoNumber
table 的 nextInt
的值
您遇到问题的真正原因是因为您要添加到 new EmployeeManager 的组合框。您需要将对表单的引用传递到 EmpPrimary
... EmpPrimary(this); //in your forms form load
public void empPrimary(EmployeeManager form){ //change the method parameters
form.cmbEmployeeID.Items.Add(empPK); // Now use the form reference in method
正如 plutonix 所说,您应该让表单自己处理 PK