اضافه شدن SPace در زمان ذخيره عبارت در ديتا بيس

سوال

با سلام

در هنگام ذخيره عبارتي در فيلد متني بانك اطلاعاتي يك كاركتر اسپيس به انتهاي عبارت اضافه مي شه. اين كاركتر اضافي تا قبل از دستور INSERT وجود ندارد اما به محض INSERT شدن ركورد جديد مشاهده مي شه. هر كاري كردم نتونستم اين فضاي خالي رو حذف كنم. مي تونيد كمكم كنيد

اين هم كدهايي كه عبارت رو از يك spinner مي گيره و سعي مي كنه كاركتر فضاي خالي رو حذف كنه و در جدول ذخيره كنه. اما عبارت با يه فضاي خالي تهش تو جدول ذخيره مي شه


			Dim tt As String
			tt = Spinner1.SelectedItem
			tt =tt.Trim
			If tt.EndsWith( " " ) Then
				tt = tt.SubString2(0,tt.Length-1)
			End If
			If tt.StartsWith (" ") Then
				tt = tt.SubString(2)
			End If
			sql1.ExecNonQuery("Insert INTO PRODUCTS  (GROUPS,PRODUCT,VAHED,PRICE,AMOUNT,QC_AMOUNT,TEXT,PIC_FILE) values ('" & tt & " ',' "&EditText1.Text.Trim &" ',' "&EditText3.Text&" ',' "&EditText2.Text&" ',' "&EditText4.Text&" ',' "&EditText5.Text&" ',' "&EditText6.Text&" ' ,' "& file_path &" ')")
در حال بررسی 0
, 2019-01-24T15:34:57+03:30 3 پاسخ کاربر تازه 0

پاسخ ها ( 3 )

    1
    2019-01-24T18:02:08+03:30

    سلام

    در سمت کدهای php قبل از اینکه داده رو در دیتابیس ذخیره کنید، با استفاده از تابع ()trim فضای space رو میتونید حذف کنید، که برای مثال به این صورت میشود:

    $username = trim($_POST['username']);

    موفق باشید.

    1
    2019-01-26T14:59:54+03:30

    خيلي ممنون از پاسختون

    اما ديتابيس فعلا روي گوشي هست.

    در ضمن از دستور تريم هم استفاده كردم اما بازم هم جواب نمي ده. جالبه وقتي تو محيط b4a قبل از ذخيره شدن مقدار log مي گيرم فضاي خالي وجود نداره اما موقع ذخيره شدن داده با فضاي خالي ذخيره مي شه و تو log بعد از اون داده رو با فضاي خالي نشون ميده

    1
    2019-01-26T19:10:37+03:30

    سلام.

     

    فکر کنم کوئریت مشکل داره.

    اینجوری اینسرت کن: مثلا:

    main_page.sql.ExecNonQuery2("INSERT INTO tbl_marhale (marhale2,marhale3,marhale4,marhale5,marhale6) VALUES (?,?,?,?,?) ",Array As String ("2","0","0","0","0"))

     

ارسال یک پاسخ