تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كود اعادة الترقيم التلقائي
#1
السلام عليكم

استفساري بخصوص ككود اعادة الترقيم التلقائي

بعد البحث حصلت هذا الموضوع
http://vb4arb.com/vb/showthread.php?tid=7605

بس الكود ما عمل معاي 

يطلع لي الغلط
   

القاعدة عندي 

كود :
CREATE TABLE [DBSetting] (
[id] INTEGER  PRIMARY KEY AUTOINCREMENT NOT NULL,
[score] VARCHAR(30)  NULL,
[contestn] VARCHAR(200)  NULL,
[station_callsign] VARCHAR(50)  NULL,
[Exchange_S] VARCHAR(20)  NULL,
[Exchange_R] VARCHAR(20)  NULL,
[mode] VARCHAR(50)  NULL,
[band] VARCHAR(50)  NULL,
[contestnyear] VARCHAR(200)  NULL,
[Continent] VARCHAR(50)  NULL,
[PFX] VARCHAR(50)  NULL,
[sn] VARCHAR(20)  NULL,
[cqz] VARCHAR(50)  NULL,
[itz] VARCHAR(50)  NULL
)


وهذا الكود

كود :
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


       If DS.Tables("DBSetting").Rows.Count = 0 Then Beep() : Exit Sub

       Try

           Application.DoEvents()
           Dim cmd As New SQLiteCommand("", Cn)

           Cn.Open()

           'ID كود حذف المفتاح من حقل الترقيم التلقائي الي اسمه  

           cmd.CommandText = "ALTER TABLE DBSetting DROP CONSTRAINT PrimaryKey"
           cmd.ExecuteNonQuery()



           ' ID كود حذف حقل الترقيم التلقائي الي اسمه  

           cmd.CommandText = "ALTER TABLE DBSetting DROP COLUMN ID "
           cmd.ExecuteNonQuery()



           'مع وضع مفتاح له ID كود انشاء حقل الترقيم التلقائي الي اسمه  

           cmd.CommandText = "ALTER TABLE DBSetting ADD COLUMN ID COUNTER CONSTRAINT [PrimaryKey] Primary key "
           cmd.ExecuteNonQuery()



           'تغيير نوعية الحقل من ترقيم تلقائي الى رقم
           cmd.CommandText = "ALTER TABLE DBSetting ALTER COLUMN ID Long"

           cmd.ExecuteNonQuery()

           Cn.Close()

           'تحديث قاعدة البيانات
           DS.Clear()
           DP.Fill(DS, "DBSetting")
           Grid()
           DataGridView1.AllowUserToAddRows = False
           MsgBox("تم بنجاح استعادة تسلسل السجلات", 64 + 524288, "نجاح")

       Catch ex As Exception

           Cn.Close()

           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

       End Try
   End Sub


الغلط يقولي هنا

كود :
           'ID كود حذف المفتاح من حقل الترقيم التلقائي الي اسمه  

           cmd.CommandText = "ALTER TABLE DBSetting DROP CONSTRAINT PrimaryKey"
           cmd.ExecuteNonQuery()


لا ادري السبب حاولت بس بدون فائده

ان شاءالله احصل الحل وشكرا
الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
Dim Sql As String =
 
  "SELECT (SELECT COUNT(*) FROM [DBSetting] t WHERE [DBSetting].id >= t.id) AS [RowNumber], * " _
   
"FROM   [DBSetting]   "
Dim da As New SQLiteDataAdapter(Sqlcon)
da.Fill(dt)
Me.DataGridView1.DataSource dt 
الرد }}}
تم الشكر بواسطة: dubai.eig
#3
(15-10-17, 04:29 PM)a.ahmed كتب :
PHP كود :
Dim Sql As String =
 
  "SELECT (SELECT COUNT(*) FROM [DBSetting] t WHERE [DBSetting].id >= t.id) AS [RowNumber], * " _
   
"FROM   [DBSetting]   "
Dim da As New SQLiteDataAdapter(Sqlcon)
da.Fill(dt)
Me.DataGridView1.DataSource dt 



شكرا لك استاذ احمد بس مكا فهمت وين احط الكود 

هذا الكود الموجود عندي

كود :
Imports System.Data.SQLite
Public Class Form4
   Dim Cn As New SQLiteConnection(String.Format("Data Source= {0}\BKHAMLOG\contest\" & strcallbk & "\DBDXContest.s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
   Dim DS As New DataSet
   Dim DP As New SQLiteDataAdapter("Select * from DBSetting", Cn)

   Sub Grid()
       With DataGridView1
           .DataSource = DS
           .DataMember = "DBSetting"
           .Refresh()
           .Columns(0).HeaderText = "id"
           .Columns(1).HeaderText = "Serial"
           .Columns(1).Width = 50
       End With
   End Sub
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

       DP.Fill(DS, "DBSetting")
       Grid()
   End Sub
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

       Dim Sql As String =
  "SELECT (SELECT COUNT(*) FROM [DBSetting] t WHERE [DBSetting].id >= t.id) AS [RowNumber], * " & _
  "FROM   [DBSetting]   "
Dim da As New SQLiteDataAdapter(Sql, Cn)
da.Fill(DS)
Me.DataGridView1.DataSource = DS

       If DS.Tables("DBSetting").Rows.Count = 0 Then Beep() : Exit Sub

       Try

           Application.DoEvents()
           Dim cmd As New SQLiteCommand("", Cn)

           Cn.Open()

           'ID كود حذف المفتاح من حقل الترقيم التلقائي الي اسمه  

           cmd.CommandText = "ALTER TABLE DBSetting DROP CONSTRAINT PrimaryKey"
           cmd.ExecuteNonQuery()



           ' ID كود حذف حقل الترقيم التلقائي الي اسمه  

           cmd.CommandText = "ALTER TABLE DBSetting DROP COLUMN ID "
           cmd.ExecuteNonQuery()



           'مع وضع مفتاح له ID كود انشاء حقل الترقيم التلقائي الي اسمه  

           cmd.CommandText = "ALTER TABLE DBSetting ADD COLUMN ID COUNTER CONSTRAINT [PrimaryKey] Primary key "
           cmd.ExecuteNonQuery()



           'تغيير نوعية الحقل من ترقيم تلقائي الى رقم
           cmd.CommandText = "ALTER TABLE DBSetting ALTER COLUMN ID Long"

           cmd.ExecuteNonQuery()

           Cn.Close()

           'تحديث قاعدة البيانات
           DS.Clear()
           DP.Fill(DS, "DBSetting")
           Grid()
           DataGridView1.AllowUserToAddRows = False
           MsgBox("تم بنجاح استعادة تسلسل السجلات", 64 + 524288, "نجاح")

       Catch ex As Exception

           Cn.Close()

           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

       End Try
   End Sub


End Class

هل احط الكود الخاص بك في ال Button1  او كيف اسف تعبتك بس الحمدالله نستفيد منك ومن الشباب الكثير
الرد }}}
تم الشكر بواسطة:
#4
PHP كود :
Imports System.Data.SQLite

Public Class Form4
    Dim Cn 
As New SQLiteConnection(String.Format("Data Source= {0}\BKHAMLOG\contest\" & strcallbk & "\DBDXContest.s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
    Dim DT As New DataTable
    Dim DP As New SQLiteDataAdapter("
SELECT (SELECT COUNT(*) FROM [DBSettingt WHERE [DBSetting].id >= t.id) AS [Serial], * FROM   [DBSetting  ", Cn)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        DP.Fill(DT)
        Grid()
    End Sub

    Sub Grid()
        With DataGridView1
            .DataSource = DT
            .Columns(0).Width = 50
        End With
    End Sub

    'Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    'End Sub

End Class 
الرد }}}
تم الشكر بواسطة: dubai.eig
#5
(15-10-17, 05:50 PM)a.ahmed كتب :
PHP كود :
Imports System.Data.SQLite

Public Class Form4
    Dim Cn 
As New SQLiteConnection(String.Format("Data Source= {0}\BKHAMLOG\contest\" & strcallbk & "\DBDXContest.s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
    Dim DT As New DataTable
    Dim DP As New SQLiteDataAdapter("
SELECT (SELECT COUNT(*) FROM [DBSettingt WHERE [DBSetting].id >= t.id) AS [Serial], * FROM   [DBSetting  ", Cn)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        DP.Fill(DT)
        Grid()
    End Sub

    Sub Grid()
        With DataGridView1
            .DataSource = DT
            .Columns(0).Width = 50
        End With
    End Sub

    'Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    'End Sub

End Class 



شكرا لك ما قصرة احسنت وفي ميزان حسناتك عزيزي

بس اتمنى تاخذ لفه على موضوعي الاخر ListView 
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم