Arsip: Spasi kosong di record MsSQL...

 
user image
more 18 years ago

Random

Misalkan sebuah field itu bernama "Nomor", trus tipe dan panjang datanya varchar(50). Katakanlah mau masukin isinya "AB00001". Kalo misalkan kita melakukan fungsi insert melalui Delphi, itu AB00001 kan cuma 7 huruf. Berarti kesimpannya itu "AB000001" aja atau jadi "AB000001_43 spasi kosong_" ya ? Soalnya walaupun di delphi itu stringnya udah saya Trim, tapi tetep aja ketika diinsert itu hasilnya yang "AB000001_43 spasi kosong_", padahal yang saya perlu itu "AB000001" aja. Gimana caranya ya ? Ada ga fungsi trim buat ngesave di MsSQL ? Alasan : AB000001 itu nomor yang selalu diincrement -> AB00002, dst. Sementara, program yang melakukan fungsi increment itu ada 2, yakni program A dan B. Sewaktu select max, program A (dibuat pake Delphi) mengeluarkan hasilnya trus langsung ditrim dulu sebelum ngambil 5 angka paling kanan (untuk ditambah). Sementara program B (ga dibuat pake Delphi) langsung ngambil 5 angka dari kanan. Dilema : Jadinya kalo saya ngesave pake program A, selalu ada spasi kosong di nomor tersebut. Sementara kalo ngesave pake program B, di MsSQL-nya ga ada spasi kosong.
user image
more 18 years ago

cyber_hecker

kayaknya bukan salah ms sql deh.. tapi salah program A. pernah merubah tipe field Nomor tersebut gak ?
user image
more 18 years ago

Random

Ga pernah diubah-ubah kok. Kalo misalkan salah program A, dimana program A-nya kan pake Delphi..... Di Delphi kalo insert ke database selalu masukin spasi kosongnya ga ya kalo panjang data fieldnya itu lebih panjang dari karakter yang diinsert ? Soalnya saya ga pernah ngalamin kejadian ini karena kalo saya buat sendiri tabelnya, selalu saya bikin panjang datanya itu sama. Misalkan, kalo struktur nomornya itu statis kayak AB00001 (7 karakter) ya saya bikin sebagai char(7), dan ga pernah char(9), char(20), dll... Dan pas masukin parameternya, udah saya trim juga, seperti ini : qryMasukinData.Parameters.ParamByName('nomor').Value := Trim(nomor);
user image
more 18 years ago

cyber_hecker

di delphi nggak ada pake acara nambah. segitu dimasuk in, ya segitu hasilnya. kalo diriku pernah ngalami hal gitu waktu masih pake tipe NVARCHAR. nah tipe ini suka nambah sendiri. panjangnya 10, maka kalo kurang ya di isi pake spasi.
user image
more 18 years ago

yayaretina

Fungsi ngilangin spasi di kanan..
SELECT RTRIM('AB000001   '); 
Result :
'AB000001'
:-P
user image
more 18 years ago

Random

Aha. Di database si program B (yang juga dipake sama program A), emang tipe datanya NVARCHAR. Berarti penyebabnya itu ya. Kalo insertnya itu pake : insert into tabelnyaB (nomor,nama) value (rtrim(:nomor),:nama) ... bisa ngilangin efek NVARCHAR-nya yang ngasih spasi di kanan itu ya berarti ?
user image
more 18 years ago

cyber_hecker

gak ngaruh dengan efek dari code insert, mau pake RTRIM kek, LTRIM kek apa TRIM-TRIM yang lain. wakakak :D. jadi mau-gak mau, ubah dulu tipe field kamu. emang bisa di ubah. tapi data lama yang masih pake spasi tetep pake spasi, kecuali data baru yang dimasukkan udah gak pake spasi lagi.
user image
more 18 years ago

ndenkltop

masa sih? itu bukannya kalo tipe char? varchar(50) kalo diisi 7 karakter aja yg masuk cuman 7 kok. kalo char(50) nah ini baru 50 karakter yg masuk. termasuk spasi. mungkin di prosedur memasukkannya yg keliru? nchar(x) dan char(x) berisi karakter sebanyak x atau statis. nvarchar(x) dan varchar(x) hanya diisi seperlunya maksimal x. smua termasuk spasi. cobain prosedurnya diubah dikit. hati-hati menggunakan char atau nchar yg gak ditrim spasinya. saat melakukan pencarian (locate) spasi juga diperhitungkan. cuman bedanya nchar dengan char dan nvarchar dengan varchar ini yg aku belum tau penggunaannya.... ada yg tau gak?
user image
more 18 years ago

walking_body

kyknya cenderung pas save, nilai yg kmu kirim itu masih ada spasi nya....... :D
user image
more 18 years ago

Random

Ga kok, udah di-trim pas dikirim. Tapi masalah ini udah terpecahkan sih, jadi pas di dalam query dikasih RTRIM -> insert into tabelnyaB (nomor,nama) value (rtrim(:nomor),:nama) Sejak itu, spasi kosong itu ga pernah muncul lagi di fieldnya. Beda dengan penjelasan CH, tapi kenapa bisa gitu... saya juga ga tahu.....
more ...
  • Pages:
  • 1
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com