Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Membuat nomor urut otomatis

bos tolong dong,
saya punya database dgn field
noktrk
nama
alamat
kodekedudukan
daya
pada saat di select agar muncul nomor urut secara otomatis query nya gimana ya:
contoh hasil select
1.hadi,semarang,fga66,600
2.lilik,malang,dfg77,5600
3.yanto,sorong,fgh55,600
yang ditanyakan memunculkan nomor(123)itu secara otomatis,
yang mau bantu tolong dong

Comments

  • pake tipe field number trus auto increment, waktu insert abaikan field ini kosong aja, nanti otomatis masuk urut
  • insert into nama_tabel (nama,alamat,kodekeududukan,daya) values(.....)
  • Mas kabul, ada permasalahan jika anda menggunakan auto increment.

    Permasalahannya adalah seperti ini.

    1.

    - Isikan 5 data pada tabel yang ada field auto incrementnya
    - Lihat field yang disetting auto increment
    - Jika berhasil, maka anda akan lihat pada field tersebut sebuah data dengan nomor yang urut dari 1 sampai dengan 5
    - Kemudian hapus data kelima
    - Kemudian silahkan anda lihat data tabelnya
    - Jika berhasil, maka akan ditampilkan data dari 1 sampai dengan 4
    - Setelah itu, silahkan anda tambahkan data baru sebanyak 1
    - Kemudian silahkan anda buka lagi tabelnya hingga semua data terlihat.
    - Apakah anda melihat hal yang aneh?
    - Kalau anda perhatikan, maka akan muncul data pada field itu dengan urutan 1,2,3,4,6
    - Seharusnya jika urut didapatkan data 1,2,3,4,5
    - Ini merupakan permasalahan yang pertama yang anda harus pertimbangkan sebelum anda benar2 fix menggunakan fitur field dengan format auto increment

    2

    - Buat tabel dengan ada field yang berformat auto increment
    - Kemudian silahkan anda tambahkan 5 data pada tabel tersebut.
    - Jika sudah selesai, silahkan anda tampilkan seluruh datanya.
    - Apabila berhasil, akan didapatkan data pada field pada format auto increment seperti berikut 1,2,3,4,5
    - kemudian silahkan anda hapus semua data itu.
    - kemudian silahkan anda tambahkan lima data baru lagi
    - Lihat nilai data yang ada pada field dengan format auto increment
    - Jika benar, akan didapatkan data seperti berikut 6,7,8,9,10
    - Dan seharunya jika memang urut harusnya 1,2,3,4,5
    - Ini merupakan permasalahan yang kedua.
    - Untuk mengatasi hal seperti ini, ketika anda hendak melakukan proses pengosongan data, maka silahkan anda ikuti dengan mengeksekusi query berikut TRUNCATE TABLE <Nama tabel>
    - Sehingga ketika anda menambahkan tabel, maka pada field dengan format auto increment akan didapatkan data 1,2,3,4,5 dan bukan 6,7,8,9,10 seperti kasus yang sudah dijelaskan pada permasalahan 2.

    Semoga informasi bisa memberikan wawasan ilmu database buat mas Kabul himura

    Untuk mempelajari ilmu2 lain dari database MS SQL Server, mas bisa baca2 buku saya dan untuk lebih jelasnya silahkan anda lihat link Berikut ini


    pemrog%20dtbase%20meningkatkn%20kemampu_m.jpg
  • Betul kata mas indri. Auto incremet sifat gitu.

    Id yang sudah dihapus tidak bisa digunakan lagi.
  • terima kasih atas masukan nya
  • Originally posted by kabul himura
    ............
    pada saat di select agar muncul nomor urut secara otomatis query nya gimana ya:
    contoh hasil select
    1.hadi,semarang,fga66,600
    2.lilik,malang,dfg77,5600
    3.yanto,sorong,fgh55,600
    yang ditanyakan memunculkan nomor(123)itu secara otomatis,
    yang mau bantu tolong dong

    perintah SELECT memang tidak bisa memunculkan nomor urut record . tapi bisa diakali ketika menampilkan record itu sendiri ke UI, yaitu dengan menambah nomor tersebut secara manual

    contoh:

    for (i = 1; i < jumlah_ Record ; i++)
    {
    Print i, Record.fields[0], Record.fields[1]....... dsb.
    }
  • OOT: wah,jadi juga bikin bukunya.... congratl, mas eko indri.

    back to topic,
    menurut saya, row yang baik haruslah memiliki satu unique key, yang merupakan ID pada row tersebut. Ini antara lain memudahkan pengelolaan data.

    Unique key tersebut bisa berasal dari salah satu attribute entitas yang memang membedakannya dengan entitas lain (contoh, attribute NIP pada entitas Pegawai_Negeri), atau surrogate key (contoh: nomor_karcis pada entitas karcis_bioskop).

    Memang benar bila ada row yang terhapus, urutan autonumber tidak akan berurut lagi. Dan itu bukan menjadi masalah bila kita melihat autonumber tadi sebagai identitas row. Bahkan nomor yang hilang itu bisa menjadi bahan informasi untuk mengetahui bahwa ada data yang telah dihapus pada table tersebut.

    semoga ini juga menjadi masukan.
  • @vberror13

    thanxs

    @kabul himura

    btw, anda menggunakan bahasa pemrograman apa? Delphi, VB atau yang lain?
  • Di SQL Server bisa kok bikin nomor urut otomatis waktu query.
    Contoh di bawah bisa diaplikasikan bila table tsb punya unique key. Misal u/ kasus yg Mas punya, unique key nya adalah 'Noktrk', maka query-nya kurang lebih:

    SELECT (SELECT count(Noktrk) FROM NamaTabel AS x WHERE x.Noktrk<= y.Noktrk) AS
    NoUrut, Noktrk,nama, alamat, kodekedudukan,daya
    FROM NamaTabel AS y order by Noktrk
  • Originally posted by bns_abbas
    SELECT (SELECT count(Noktrk) FROM NamaTabel AS x WHERE x.Noktrk<= y.Noktrk) AS
    NoUrut, Noktrk,nama, alamat, kodekedudukan,daya
    FROM NamaTabel AS y order by Noktrk

    Saya coba dulu cara mas ini....


    Analisa saya :

    Ketika data atau record didalam tabel ada banyak, saya yakin performance akan turun...

    Disini perlu diperhatikan mengenai tujuan dari penomoran otomatis..

    1. Untuk menampilkan data agar didalam control yang ada didalam form, anggap aja controlnya adalah DBGrid1 dan compilernya adalah Delphi.

    - maka jika hanya ingin menampilkan no urut, tidak perlu kita meng-query dari database, sebab ini hanya akan memperlambat proses..
    - silahkan anda tambahkan field baru dengan nama No, tipe data integer dan tipe field calculated. Setelah itu silahkan anda tuliskan kode program didalam event OnCalcFields dengan kode program seperti terlihat pada potongan kode program berikut ini :
    procedure TForm1.Table1CalcFields(DataSet: TDataSet);
    begin
    Table1No.Value := Dataset.RecNo;
    end;
    

    - cara ini jauh lebih cepat dan praktis serta tidak terlalu membebani bagian server.

    2. Memang untuk menampilkan didalam query Enterprise Manager.

    - kalau memang kasusnya seperti ini, cara dari mas bns_abbas bisa digunakan, namun perlu diketahui juga cara tersebut sangatlah tidak safe untuk data yang besar dan apabila digabungkan dengan query lain untuk melakukan proses pengolahan data.

    Semoga ulasan diatas menambah pengetahuan temen2, seberapa penting kita menggunakan auto increment, kemudian juga kita harus selektif dan memikirkan kinerja dari program aplikasi agar terkesan stabil dan performance masih tetap terjaga.
  • Originally posted by bns_abbas
    SELECT (SELECT count(Noktrk) FROM NamaTabel AS x WHERE x.Noktrk<= y.Noktrk) AS
    NoUrut, Noktrk,nama, alamat, kodekedudukan,daya
    FROM NamaTabel AS y order by Noktrk


    41.gif

    dulu aku pernah coba bikin seperti itu, pake sub query. tapi nggak kepikiran harus menambah konstrain semacam "Where x.field1 < = y.field1" supaya count(field1) bisa menghasilkan angka yang berbeda...

    ty for sharing ...
  • maaf saya masih pemula,

    saya mau tanya, ttg cuplikan code dibawah itu :

    kalau ada lebih dari 1 user yg input, itu bisa duplicate number ga?.
    terima kasih.
  • asal field-nya udah diset ke Unique, maka tidak akan ada lagi record yg sama bisa masuk. jika dipaksakan, pasti muncul komentar error: Unique Constraint
  • Permisi suhu ane pengen nanya nih. Ane punya 10 record data nih. Terus kalo misalnya ngapus no.10 balik no.9 dong. Nah ketika ane coba hapus no. 5, No. 6 nya Idnya gak berubah jadi 5 tetep jadi 6. Kalo kayak begitu salah di kodingan auto numnya atau gimana? Ane butuh solusi nih gan. Thanks
This discussion has been closed.