تقييم الموضوع :
  • 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 
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] الترقيم التلقائي mr_hso 8 289 31-03-19, 10:50 AM
آخر رد: mr_hso
  الاكمال التلقائي بجزء من الكلمه aftfm 2 144 17-03-19, 11:01 AM
آخر رد: aftfm
  المساعدة في حل مشكلة الترقيم التسلسلي في الكريستال ريبورت ( حاجة غريبة حصلت معي ) جيولوجي مبتدئ 2 194 27-01-19, 12:09 PM
آخر رد: جيولوجي مبتدئ
  [SQL] اعادة تشغيل قاعدة بيانات SonBasel 0 155 01-01-19, 10:36 AM
آخر رد: SonBasel
  خطا في الترقيم محمد خيري 10 412 30-10-18, 04:44 AM
آخر رد: elgokr
  كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة mram3242 11 885 30-10-18, 01:34 AM
آخر رد: DOX.1
  حول طريقة تسجيل الدخول التلقائي naderalkeng54 13 877 20-10-18, 01:15 PM
آخر رد: Mohamed Magdy
  إظهار الترقيم السنوي بالداتاغريد العيدروس 2 287 05-09-18, 10:37 PM
آخر رد: العيدروس
  الترقيم التلقائي توقف عن العمل في Datagridview Hazem1 3 368 25-08-18, 09:29 AM
آخر رد: elgokr
  [VB.NET] الترقيم التلقائي لDataGridView كريم جودي 4 393 19-08-18, 01:30 PM
آخر رد: elgokr

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


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