PDA

View Full Version : اضافه کردن به یک جدول خالی



fateme_shourabi
چهارشنبه 10 اسفند 1384, 06:10 صبح
سلام من این کدها رو برای اضافه کردن به یک جدولی خالیست نوشتم ولی خطا می ده
ممنون میشم اگه کمکم کنید
واگه کدهای من اشتباهه
کد های درستش رو برام بنویسین
منتظر یاری سبزتون هستم
یاحق





Dim dw As New DataView
Dim irow As Integer
Dim s As String
s = "1"
If Val(s) = 1 Then
Dim datarow1 As DataRow
datarow1 = ds.Tables("clint ").NewRow
datarow1.Item("code_clint") = s
datarow1.Item("name_clint") = name.Text
datarow1.Item("fam_clint") = fam.Text
datarow1.Item("count_clint") = count.Text
datarow1.Item("typeroom") = type.Text
datarow1.Item("date_in") = datein.Text
datarow1.Item("moddat") = moddat.Text
ds.Tables("clint").Rows.Add(datarow1)
da.Update(ds, "clint ")
MsgBox("مدرک جدید اضافه شد ")
name.Text = ""
fam.Text = ""
count.Text = ""
type.Text = ""
datein.Text = ""
moddat.Text = ""
End If

white fox
چهارشنبه 10 اسفند 1384, 06:37 صبح
دوست عزیز کاش مینوشتید چه خطائی میگیره متنشو مینوشتی...
اما در کل تو این کدی که نوشتی شمایه آبجکت dw از نوع datafiew ساختی استفاده نکردی چرا ساختی؟
یه دونه iRow هم ساختی بازم استفاده نکردی....
شما برای جدولی که ساختی آیا کلید اصلی تعریف کردید؟
در ضمن در وب اینطوری جدول پر نمیکنن....از دستور INSERT استفاده کن خیلی بهتره و همچنین کلید اصلی رو فراموش نکن.

fateme_shourabi
چهارشنبه 10 اسفند 1384, 22:34 عصر
می شه لطفا کدش رو برام بنویسین اخه من تازه کارم
با تشکر
یاحق

fateme_shourabi
پنج شنبه 11 اسفند 1384, 11:35 صبح
چرا کسی جوابمو نمی ده
؟؟؟؟؟؟؟
اخه خدارو خوش میاد؟؟

اَرژنگ
پنج شنبه 11 اسفند 1384, 11:55 صبح
چرا کسی جوابمو نمی ده
؟؟؟؟؟؟؟
اخه خدارو خوش میاد؟؟
از کدام Database استفاده میکنید؟

fateme_shourabi
پنج شنبه 11 اسفند 1384, 16:13 عصر
من طراحی صفحات وب توی vb.net رو با بانک sql انجام می دم
منتظر یاری سبزتان هستم
یاحق

HO457
پنج شنبه 11 اسفند 1384, 18:34 عصر
قبلا فکر کنم جوابتو با مثال داده بودم:


Dim cnn As New SqlClient.SqlConnection("integrated security=SSPI;data source=(local);persist security info=False;initial catalog=DBNAME")
Dim cmd As New SqlClient.SqlCommand("insert into table(field1,field2,...) values(value1,value2,...)", cnn)
cnn.Open()
cmd.ExecuteNonQuery()
cnn.Close()

همین.
موفق باشی

fateme_shourabi
پنج شنبه 11 اسفند 1384, 21:22 عصر
این کدها ی منه


Dim cnn As New SqlClient.SqlConnection("integrated security=SSPI;data source=(local);persist security info=False;initial catalog=hotel;")
Dim cmd As New SqlCommand("SELECT * FROM clint")
Dim code As Integer
Dim d As Date
Dim m As Integer
Dim c As Integer
c = Val(name.Text.Trim)
m = Val(fam.Text.Trim)
code = 1
Dim command1 As String = _
"INSERT INTO clint" & _
"(code_clint,name_clint, fam_clint, count_clint, typeroom, datein, moddat)" & _
"VALUES(" & "code&,N'name.Text.Trim ',N' fam.Text.Trim '," & c & ",N' type.Text.Trim '," & datein.Text.Trim & "," & m & ")"
cmd.CommandText = command1
cmd.Connection.Open()
cmd.ExecuteNonQuery()
Server.Transfer("webform2.aspx")
cmd.Connection.Close()
Response.Redirect("webform2.aspx")




این خطا رو می ده

Server Error in '/WebApplication2' Application.
________________________________________
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 54: "VALUES(" & "code&,N'name.Text.Trim ',N' fam.Text.Trim '," & c & ",N' type.Text.Trim '," & datein.Text.Trim & "," & m & ")"
Line 55: cmd.CommandText = command1
Line 56: cmd.Connection.Open()
Line 57: cmd.ExecuteNonQuery()
Line 58: Server.Transfer("webform2.aspx")

در ضمن برای تبدیل تاریخ فارسی هم از این کدها می خوام استفاده کنم
ولی نمی دونم کجا باید بنویسم





private void InitializeComponent()
{
System.Globalization.CultureInfo cf = new System.Globalization.CultureInfo("fa-IR");
cf.DateTimeFormat.Calendar =new System.Globalization.PersianCalendar();
cf.DateTimeFormat.MonthNames = new string[]{
"فروردین",
"اردیبهشت",
"خرداد",
"تیر",
"مرداد",
"شهریور",
"مهر",
"آبان",
"آذر",
"دی",
"بهمن" ,
"اسفند",
""};
System.Threading.Thread.CurrentThread.CurrentCultu re = cf;
this.components = new System.ComponentModel.Container();
}

HO457
پنج شنبه 11 اسفند 1384, 22:52 عصر
چک کن اطلاعاتی که داری یکیش NULL هست. توی بانکت Allow Null را برابر با Yes قرار بده مشکلت حل میشه

fateme_shourabi
جمعه 12 اسفند 1384, 21:20 عصر
Server Error in '/WebApplication2' Application.
________________________________________
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 54: "VALUES(" & "code&,N'name.Text.Trim ',N' fam.Text.Trim '," & c & ",N' type.Text.Trim '," & datein.Text.Trim & "," & m & ")"
Line 55: cmd.CommandText = command1
Line 56: cmd.Connection.Open()
Line 57: cmd.ExecuteNonQuery()
Line 58: Server.Transfer("webform2.aspx")

من تو جدولم همه فیلدها ی موجود رو allow nulls رو تیک دار کردم ولی بازم همون خطارو می ده
واز Line 57: cmd.ExecuteNonQuery()
error می گیره
منتظر یاری سبزتون هستم
یاحق

white fox
شنبه 13 اسفند 1384, 05:51 صبح
یه احتمال میدم اما مطمئن نیستم....
دو حالت داره یا تکست باکسایی که داری ازشون میخونید احتمالا html ی هستن کدشونو نساخته داخل صفحه کدتون که خودتون دستی باید وارد کنید(این احتمالش بیشتره..چون نمیتونه Object رو پیدا کنه)
یه احتمال دیگه اینه که...
شما موقع ساختن command که با cmd نشونش دادید همون موقع ساختنش شما پرش کردید با دستور SELECT و پائینتر دوباره بهش کامند دیگه که INSERT باشه دادید..
اما اولی محتمل تره
کدتونو zip کنید بفرستید دوستان یا من سعی میکنیم اصلاحش کنیم

fateme_shourabi
شنبه 13 اسفند 1384, 11:00 صبح
کسی نیست کمکم کنه ؟؟؟

fateme_shourabi
شنبه 13 اسفند 1384, 11:04 صبح
ممنون باشه من امتحان می کنم
ولی اینکه می گین دستی وارد کنم یعنی چی
متوجه نمیشم
کدهای من همینا هستن که براتون نوشتم

reza_rad
شنبه 13 اسفند 1384, 11:09 صبح
ممنون باشه من امتحان می کنم
ولی اینکه می گین دستی وارد کنم یعنی چی
متوجه نمیشم
کدهای من همینا هستن که براتون نوشتم
کد sql تون رو توی یه query analyzer و یا مشابه اون چک کردید؟ ببینید اونجا مشکلی نداره؟

fateme_shourabi
شنبه 13 اسفند 1384, 17:14 عصر
من تو anlaysing qury هم امتحان کردم واین خطا رو مید ه
یعنی هرچی می خوام یه مقدارتو name بذارم بازم خطا می گیره نمی دونم چرا نوع فیلد هم text
این کدهای من

INSERT INTO clint(code_clint,name_clint, fam_clint, count_clint, typeroom, datein, moddat)
VALUES(1,"فاطمه","شورابی",3,"یه تخته",1384/11/12,5);
اینم خطایی که می گیره

Server: Msg 128, Level 15, State 1, Line 2
The name 'بیب' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.

fateme_shourabi
شنبه 13 اسفند 1384, 17:15 عصر
هرچیزی که می خوام به فیلدم که name_clint نسبت بدم
بهش خطا می گیره

reza_rad
شنبه 13 اسفند 1384, 17:24 عصر
هرچیزی که می خوام به فیلدم که name_clint نسبت بدم
بهش خطا می گیره

یه script از جدولتون اینجا بذارید ببینیم مشکل کجاست.

fateme_shourabi
شنبه 13 اسفند 1384, 23:08 عصر
این هم کدهای اسکریپ جدول من


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[clint]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[clint]
GO

CREATE TABLE [dbo].[clint] (
[code_clint] [int] NULL ,
[name_clint] [nvarchar] (16) COLLATE Arabic_CI_AS NULL ,
[fam_clint] [nvarchar] (16) COLLATE Arabic_CI_AS NULL ,
[count_clint] [int] NULL ,
[typeroom] [nvarchar] (16) COLLATE Arabic_CI_AS NULL ,
[date_in] [datetime] NULL ,
[moddat] [int] NULL
) ON [PRIMARY]
GO

reza_rad
یک شنبه 14 اسفند 1384, 08:52 صبح
اشکال بالا رو من متوجه نشدم از کجاست.

ولی این درکل اشکال ایجاد می کنه:
شما جدولتون primary key نداره؟؟؟