我在vb.net中创建了一个应用程序,它接受来自用户的值并将它们插入数据库(在server 2008中创建)。它接受来自应用程序本身的名称、地址、电话号码等。但问题是,用户还需要在应用程序中输入序列号。有办法自动管理序列号吗?因为没人记得上一张唱片的序列号。因此,在为新记录分配序列号之前,每次都需要检查数据库中最后一个记录的序列号。
我还希望,如果从数据库中间删除任何记录,序列号应自动调整。所以,我想要的是,序列号应该自动分配,就像第一次记录的1,下一次记录的2,3,4,5,6.诸若此类。但是,如果与序列号5相对应的记录被删除,那么s.no。6应成为s.no。5.
提前感谢
发布于 2014-07-13 13:47:37
你每次在数据库上注册记录时都要调用一个函数。在分配记录之前,不要检查数据库中的最后一个号码,并添加一个计数,并保存与序列号相同的号码。在数据库中创建一个以serial_no作为主键的列,
CREATE TABLE table_name
(
Serial_no int NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Serial_no)
);很抱歉,我不太熟悉VB,这里我用C#提供了解决方案,我希望你能从这段代码中得到一些想法。
public void create_serial_no()
{
using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["my_database_name"].ConnectionString))
using (var command = connection.CreateCommand())
{
command.CommandText = "SELECT [Serial_no] FROM table_name";
connection.Open();
string strs = command.CommandText;
string i = null;
int j = 0;
using (var reader = command.ExecuteReader())
{
while (reader.Read())
i = reader["Serial_no"].ToString(); ;
}
j = Convert.ToInt32(i);
int k = 0;
k = j + 1;
// this is a serial no generated automaticall by the database
textBox1.Text = k.ToString();
}
}享受吧!
https://stackoverflow.com/questions/24722935
复制相似问题