insert le numéro dans la database sql avec vb.net (comme l'ID de l'étudiant, l'ID de l'employé)

Je veux faire une transaction générant automatiquement non. dans la database sql comme ID d'étudiant, ou ID d'employé chaque fois que j'insère des données dans la database de SQL. Tout ce que je peux faire maintenant est d'insert des données. mais je ne sais pas comment créer une transaction. à chaque fois que j'ajoute des données.

Dim query As Ssortingng = Ssortingng.Empty query = "insert into marketingLog(TransCode,Endorser,Enrollee_Name,Course,Rebates,Trans_Date,CreatedBy,Status)" _ & "values(@transcode,@endorser,@name,@course,@rebates,@transdate,@user,@status)" Using conn As New SqlConnection(dbUse.db) conn.Open() Using comm As New SqlCommand With comm .Connection = conn .CommandType = CommandType.Text .CommandText = query .Parameters.Add("@endorser", SqlDbType.VarChar).Value = cmbEndorser.Text 'Endorser .Parameters.Add("@name", SqlDbType.VarChar).Value = txtEnrolleeName.Text 'Enrolle_Name .Parameters.Add("@course", SqlDbType.VarChar).Value = cmbCourse.Text 'Course .Parameters.Add("@rebates", SqlDbType.Int).Value = lblRebate.Text 'Rebates .Parameters.Add("@transdate", SqlDbType.DateTime).Value = DateAndTime.Now .Parameters.Add("@user", SqlDbType.VarChar).Value = lblUsername.Text .Parameters.Add("@status", SqlDbType.VarChar).Value = "Standby" End With Try comm.ExecuteNonQuery() conn.Close() loadmyGrid() loadDefault() Catch ex As Exception MessageBox.Show(ex.Message.ToSsortingng(), "Error Message") End Try End Using End Using 

TransCode est mon nom de colonne. je veux append comme 1,2,3,4,5 chaque transaction. Je l'utilise comme mon numéro de transaction.

Que pourriez-vous faire avant d'insert des données dans le tableau que vous trouvez le

 Select Max(TranCode) From marketingLog 

et il returnnera un integer ou 0 pour la première fois.

vous juste l'incrémenter avec 1.

puis effectuez votre insertion.

en fait, je ne sais pas comment coder en vb mais j'essaie d'écrire la logique dans votre code s'il vous plaît se référer et essayer d'appliquer en utilisant vb

pour par exemple

  Dim query As Ssortingng = Ssortingng.Empty query = "Select Max(TranCode) From marketingLog"; Dim dtb As New DataTable; Using conn As New SqlConnection(dbUse.db) conn.Open() Using dad As New SqlDataAdapter(query, conn) dad.Fill(dtb) Dim intTransNo As Integer = Int32.Parse(dtb.Rows(0)(0).ToSsortingng()) + 1; query = "insert into marketingLog(TransCode,Endorser,Enrollee_Name,Course,Rebates,Trans_Date,CreatedBy,Status)" _ & "values(@transcode,@endorser,@name,@course,@rebates,@transdate,@user,@status)" Using comm As New SqlCommand With comm .Connection = conn .CommandType = CommandType.Text .CommandText = query .Parameters.Add("@transcode", SqlDbType.VarChar).Value = intTransNo .Parameters.Add("@endorser", SqlDbType.VarChar).Value = cmbEndorser.Text 'Endorser .Parameters.Add("@name", SqlDbType.VarChar).Value = txtEnrolleeName.Text 'Enrolle_Name .Parameters.Add("@course", SqlDbType.VarChar).Value = cmbCourse.Text 'Course .Parameters.Add("@rebates", SqlDbType.Int).Value = lblRebate.Text 'Rebates .Parameters.Add("@transdate", SqlDbType.DateTime).Value = DateAndTime.Now .Parameters.Add("@user", SqlDbType.VarChar).Value = lblUsername.Text .Parameters.Add("@status", SqlDbType.VarChar).Value = "Standby" End With Try comm.ExecuteNonQuery() conn.Close() loadmyGrid() loadDefault() Catch ex As Exception MessageBox.Show(ex.Message.ToSsortingng(), "Error Message") End Try End Using End Using 
 CREATE TABLE Persons ( ID int NOT NULL AUTO_INCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (ID) ) 

Vous pouvez utiliser une colonne AUTO_INCREMENT dans votre tableau. vous n'avez pas besoin de spécifier de données pour cette colonne. Les données de cette colonne seront automatiquement insérées dans la nouvelle notice.

 INSERT INTO Persons (FirstName,LastName) VALUES ('Lars','Monsen') 

Vérifiez le violon ici.

Votre code: Vous n'avez simplement pas besoin de mettre des données dans la colonne Auto_Increment.

 Dim query As Ssortingng = Ssortingng.Empty //query = "Select Max(TranCode) From marketingLog"; Dim dtb As New DataTable; Using conn As New SqlConnection(dbUse.db) conn.Open() query = "insert into marketingLog(Endorser,Enrollee_Name,Course,Rebates,Trans_Date,CreatedBy,Status)" _ & "values(@endorser,@name,@course,@rebates,@transdate,@user,@status)" Using comm As New SqlCommand With comm .Connection = conn .CommandType = CommandType.Text .CommandText = query .Parameters.Add("@endorser", SqlDbType.VarChar).Value = cmbEndorser.Text 'Endorser .Parameters.Add("@name", SqlDbType.VarChar).Value = txtEnrolleeName.Text 'Enrolle_Name .Parameters.Add("@course", SqlDbType.VarChar).Value = cmbCourse.Text 'Course .Parameters.Add("@rebates", SqlDbType.Int).Value = lblRebate.Text 'Rebates .Parameters.Add("@transdate", SqlDbType.DateTime).Value = DateAndTime.Now .Parameters.Add("@user", SqlDbType.VarChar).Value = lblUsername.Text .Parameters.Add("@status", SqlDbType.VarChar).Value = "Standby" End With Try comm.ExecuteNonQuery() conn.Close() loadmyGrid() loadDefault() Catch ex As Exception MessageBox.Show(ex.Message.ToSsortingng(), "Error Message") End Try End Using End Using