PDA

View Full Version : درج مقدار Null در جدول



محسن بابائی
جمعه 13 بهمن 1385, 14:07 عصر
سلام
چه طوری میشه مقدار null را در جداول SQl درج کرد.

zerobit-ltd
جمعه 13 بهمن 1385, 15:36 عصر
تو دستور insert مقادیر فیلدهایی رو که می خوای null باشن، null بذار.


insert into tbl (f1, f2)
values(1, null)

محسن بابائی
شنبه 14 بهمن 1385, 08:36 صبح
تو دستور insert مقادیر فیلدهایی رو که می خوای null باشن، null بذار.


insert into tbl (f1, f2)
values(1, null)


این دستور فقط توی Sql enterprise جواب میده

linux
شنبه 14 بهمن 1385, 09:23 صبح
value=Convert.DBNull

zerobit-ltd
شنبه 14 بهمن 1385, 09:47 صبح
این دستور فقط توی Sql enterprise جواب میده
مگه شما برای کدوم محیط می خواید؟:متفکر:

محسن بابائی
شنبه 14 بهمن 1385, 10:25 صبح
مگه شما برای کدوم محیط می خواید؟:متفکر:


من با Net 2 کار می کنم

programmermp
شنبه 14 بهمن 1385, 11:32 صبح
سلام

فکر کنم اگه از دستور update استفاده کنی مشکلت حل بشه

یه چیزی شبیه کد زیر




sqldel = "Update table1 SET field1='null'" '"


البته در مورد مقدار null که نوشتم نمی دونم چطوری قرار بدی درسته

ولی همون دستوراتی که دوستان گفتند هم از همین طریق می شه اجراش

کرد (نه با دستور update)

DonetKarvb
شنبه 14 بهمن 1385, 13:24 عصر
اگر اشتباه نکنم میتونید از کلمه Nothing هم استفاده کنید.

linux
شنبه 14 بهمن 1385, 14:50 عصر
عرض شد convert.dbnull
به چه روشی می خواهید جدول را پر یا آپدیت کنید؟ بگید تا مثال مناسب بزنم

SabaSabouhi
شنبه 14 بهمن 1385, 15:14 عصر
با سلام
اگه در Gridها مى‌خواهید مقدار یک ستون را Null کنید دکمه‌ى Ctrl-0 را فشار دهید.
(البته اگه پرسش شما رو درست متوجه شده باشم)

صبا صبوحى

محسن بابائی
شنبه 14 بهمن 1385, 18:02 عصر
سلام
ببینید من جمله sql را که می خواهم بسازم با چک کردن تکست باکس ها درست می کنیم و بعد با یه sqlcommand اون را اجرا می کنم .
به فرض
Dim strSql as stringِ
Dim s as string
If TextBox1.text = "" Then
S=TextBox1.Text
Else
S=Null
StrSql = "Insert INTO Table1 Values('1' , " & S & " )"

وحتما هم باید NULL درج کنم چون کلید خارجی تعریف کرده ام که یا باید یک مقدار که در مرجع آن تعریف کرده ام وارد کنم و یا Null البته متوجه هستید که Null با 'Null' و "" هر سه با هم فرق می کنند .

یه دستور برای این خط می خوام S = Null

البته این یه مثال خیلی ساده است .

آخرش مجبورم کردین کلی توضیح بدم .

bidad
یک شنبه 15 بهمن 1385, 00:19 صبح
داداش من اگه فیلد هات مقدار پیش فرض ندارن در صورتی که مقداری تو برنامه بهش ندی با NULL پر میشن.
اما
اگه میخوای دستی بهشون NULL بدی
کافیه مقدار فیلتد رو برابر با DBNull.Value بذاری. همین کفایت میکنه

linux
یک شنبه 15 بهمن 1385, 00:36 صبح
سلام
ببینید من جمله sql را که می خواهم بسازم با چک کردن تکست باکس ها درست می کنیم و بعد با یه sqlcommand اون را اجرا می کنم .
به فرض
Dim strSql as stringِ
Dim s as string
If TextBox1.text = "" Then
S=TextBox1.Text
Else
S=Null
StrSql = "Insert INTO Table1 Values('1' , " & S & " )"

وحتما هم باید NULL درج کنم چون کلید خارجی تعریف کرده ام که یا باید یک مقدار که در مرجع آن تعریف کرده ام وارد کنم و یا Null البته متوجه هستید که Null با 'Null' و "" هر سه با هم فرق می کنند .

یه دستور برای این خط می خوام S = Null

البته این یه مثال خیلی ساده است .

آخرش مجبورم کردین کلی توضیح بدم .
s=convert.dbnull

محسن بابائی
یک شنبه 15 بهمن 1385, 09:42 صبح
داداش من اگه فیلد هات مقدار پیش فرض ندارن در صورتی که مقداری تو برنامه بهش ندی با NULL پر میشن.
اما
اگه میخوای دستی بهشون NULL بدی
کافیه مقدار فیلتد رو برابر با DBNull.Value بذاری. همین کفایت میکنه

فرمایش شما صحیح است . مشکلم را هم حل کرده ام با StoredProcedre اما می خوام با این روش که گفتم کار کنم

SabaSabouhi
سه شنبه 17 بهمن 1385, 14:54 عصر
سلام
Dim strSql as stringِ
Dim s as string
If TextBox1.text = "" Then
S=TextBox1.Text
Else
S=Null
StrSql = "Insert INTO Table1 Values('1' , " & S & " )"
آخرش مجبورم کردین کلی توضیح بدم .

با سلام
خوب اگه دارین با String کار میکنید باید از "NULL" استفاده کنید:



S = "NULL"

اگه با DataTable و DataRow کار میکنید باید از System.DBNull.Value استفاده کنید.



Dim MyValues( 1) as object
MyValues(0) = 1
MyValues(1) = System.DBNull.Value
MyTable.Rows.Add( MyValues)



صبا صبوحی

محسن بابائی
چهارشنبه 18 بهمن 1385, 06:37 صبح
از راهنماهی های همتون ممنون .