PDA

View Full Version : سوال: مشکل در کامبو



هادی2020
دوشنبه 20 خرداد 1387, 14:01 عصر
در وی بی دات نت کامبوباکسی (name) به منبع داده ای متصل می باشد و به خاطر اینکه کاربر در این کامبوباکس اطلاعاتی وارد نکند خاصیت
dropdownStyle=dropdownlist می باشد از طرفی می خواهم وقتی روی یک سطر از دیتا گرید کلیک می کنم name آن سطر در کامبو قرار گیرد یعنی از کامبوباکس انتخاب شود

Reza Safa
دوشنبه 20 خرداد 1387, 15:39 عصر
سوالت خیلی نا مفهوم است
من متوجه نشدم که از دیتا گرید می خواهی مقدار بخونی یا از کامبو باکس

Reza Safa
دوشنبه 20 خرداد 1387, 15:41 عصر
اگر از دیتا گرید بخونی آدرس آن خونه رابه همراه مقدارش به کامبو باکس بده

هادی2020
دوشنبه 20 خرداد 1387, 15:53 عصر
مشکل این نیست دارم می گم کامبو خودش یه منبع داده است و کاربر اجازه ورود اطلاعات را ندارد حالا اطلاعات را از گرید می خواهم به داخل کامبو منتقل کنم ولی به خاطر dropdownStyle=dropdownlis این کار امکان ندارد

هادی2020
دوشنبه 20 خرداد 1387, 16:56 عصر
اینم برنامه اصلی
لطفا در درج "insert into" هم کمکم کنید

Dariuosh
دوشنبه 20 خرداد 1387, 17:28 عصر
جستجو کن در اين مورد بارها صحبت شده

barnamejoo
دوشنبه 20 خرداد 1387, 17:36 عصر
بهتره رکوردهایی که میخواید رو دستی (داخل یک loop) اضافه کنید به کمبو تا اینکه bindش کنید. اینطوری کنترل بیشتری دارید که چی رو اضافه کنید یا حذف کنید.

هادی2020
دوشنبه 20 خرداد 1387, 17:46 عصر
اول اینکه دستور insert را نوشته ام فقط یه نگا به دستورات بندازین مشکل این دستور چیه
دوم اینکه شما می گین من هر دفعه روی یه سطر که کیک می کنم یه حلقه لوپ اجرا بشه!:متعجب:
کسی راه کاره دیگری داره؟

barnamejoo
دوشنبه 20 خرداد 1387, 17:51 عصر
اول اینکه دستور insert را نوشته ام فقط یه نگا به دستورات بندازین مشکل این دستور چیه
دوم اینکه شما می گین من هر دفعه روی یه سطر که کیک می کنم یه حلقه لوپ اجرا بشه!:متعجب:
کسی راه کاره دیگری داره؟
شما اصل متوجه نشدی چی میگم! گفتم مقادیری که میخواید باهاش کمبو رو پر کنید، دستی اضافه کنید بهش، خود کمبو رو bind نکنید!
/
دستور هم لطفا بذارید، چون الان vs دم دست ندارم ببینم.

هادی2020
دوشنبه 20 خرداد 1387, 18:03 عصر
wow نمیدونم چطور شد که برنامه جواب داد تقریبا نیم ساعت پیش همی کد زیر جواب نمی داد اگر اشکالی می بینید راهنمایی بفرمایید
بعدا اینکه دستی نمی شه اگر فایل access را یه نگاه بندازی اطلاعات یه فیلد که حتما کم و زیاد میشه را داخل کامبو قرار دادم

GruhanComboBox.Text = ""
GruhanComboBox.SelectedText = dgafrad.CurrentRow.Cells("Gruhan").Value.ToString

و در نهایت این دستور درج چه مشکلی داره

con.Open()
Dim a As New OleDb.OleDbCommand(" insert into Q_AGG(ID_pasdari , FirstName , LastName , NameFather , Gruhan , Gordan) values('" & txtID.Text & "' , '" & txtName.Text & "' , '" & txtfamily.Text & "' , '" & txtfatherName.Text & "' , '" & GruhanComboBox.Text & "' , '" & GordanComboBox.Text & "' ),con ")
a.ExecuteNonQuery()

علیرضا مداح
دوشنبه 20 خرداد 1387, 18:15 عصر
سلام دوست عزیز ،
کامبوباکس و دیتاگریدویو را به یک دیتاسورس بایند نمایید ، یک شیء کامبوباکس و یک شیء دیتاگریدویو به فرم اضافه کرده و کد زیر را در رویداد Load مربوط به فرم وارد کنید :


Dim myTable As New DataTable("Person")
myTable.Columns.Add("FName", Type.GetType("System.String"))
myTable.Columns.Add("LName", Type.GetType("System.String"))
myTable.Columns.Add("Age", Type.GetType("System.Int32"))
myTable.Rows.Add("Alireza", "Rezaei", 20)
myTable.Rows.Add("Sina", "Mohammadi", 30)
myTable.Rows.Add("Mahdi", "Norouzi", 40)
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
ComboBox1.DataSource = myTable
ComboBox1.DisplayMember = "FName"
DataGridView1.DataSource = myTable

هادی2020
دوشنبه 20 خرداد 1387, 18:32 عصر
مرسی ولی فعلا که ما مجبوریم به صورت دستی این کا ها را انجام بدیم
بعدا اینکه یه کم درباره کدات امکان داره توضیح بدی

barnamejoo
دوشنبه 20 خرداد 1387, 19:03 عصر
درمورد syntax دستور insert مشکلی نمیبینم. پیغام خطایی میده؟

هادی2020
دوشنبه 20 خرداد 1387, 19:17 عصر
اینم کد درج به خط con.Open() گیر میده


Dim con As New Data.OleDb.OleDbConnection()
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=1.mdb;Persist Security Info=True"
Dim da As New Data.OleDb.OleDbDataAdapter("select * from Q_AGG", con)
Dim ds As New DataSet
con.Open()
Dim a As New OleDb.OleDbCommand(" insert into Q_AGG(ID_pasdari , FirstName , LastName , NameFather , Gruhan , Gordan) values('" & txtID.Text & "' , '" & txtName.Text & "' , '" & txtfamily.Text & "' , '" & txtfatherName.Text & "' , '" & GruhanComboBox.Text & "' , '" & GordanComboBox.Text & "' ),con ")
a.ExecuteNonQuery()

dgafrad.Refresh()

con.Dispose()
da.Dispose()
ds.Dispose()

barnamejoo
دوشنبه 20 خرداد 1387, 19:29 عصر
اگر به open گیر میده که مشکل از کانکشنه!
ولی توی خط insert یه " اشتباه گذاشتی آخر خط!
اینطوری باید باشه:

Dim a As New OleDb.OleDbCommand(" insert into Q_AGG(ID_pasdari , FirstName , LastName , NameFather , Gruhan , Gordan) values('" & txtID.Text & "' , '" & txtName.Text & "' , '" & txtfamily.Text & "' , '" & txtfatherName.Text & "' , '" & GruhanComboBox.Text & "' , '" & GordanComboBox.Text & "' "),con )

هادی2020
دوشنبه 20 خرداد 1387, 19:44 عصر
دوست عزیز مرسی الان به خط
a.ExecuteNonQuery()
گیر میده واقعا دیگه خسته شدم از این همه error

barnamejoo
دوشنبه 20 خرداد 1387, 19:58 عصر
چه پیغامی؟ :D
/
الان VS دارم :D
اون خط یه مشکل دیگه هم داره. یه پرانتز بسته رو اشتباه گذاشتی، بین Q_AGG و پرانتز هم بهتره فاصله باشه، همینطور VALUES...:


Dim a As New OleDb.OleDbCommand(" insert into Q_AGG (ID_pasdari , FirstName , LastName , NameFather , Gruhan , Gordan) values ('" & txtID.Text & "' , '" & txtName.Text & "' , '" & txtfamily.Text & "' , '" & txtfatherName.Text & "' , '" & GruhanComboBox.Text & "' , '" & GordanComboBox.Text & "') ", con)

ولی در کل وقتی تست کردم گفت ID_pasdari قابل update نیست! فکر کنم حتما باید id رو توی textbox تایپ میکردم... و یا شاید فیلدش auto number ه؟ (اینها رو دیگه چک نکردم :D)

Amateur_G
دوشنبه 20 خرداد 1387, 20:41 عصر
سلام.
من دقيقا مشكل كد رو نفهميدم اما يه كد مي زارم ببين كمك مي كنه:




Dim objCommand As New OleDbCommand
objconnection.Open()
objCommand.Connection = objconnection
objCommand.CommandText = "INSERT INTO TableName" & _
"(Filed1,Filed2,Filed3)" & _
"VALUES(@Parametr1,@Parametr2,@Parametr3);"

objCommand.Parameters.AddWithValue("@Parametr1", Trim(TextBox1.Text))
objCommand.Parameters.AddWithValue("@Parametr2", Trim(TextBox2.Text))
objCommand.Parameters.AddWithValue("@Parametr3", Trim(TextBox3.Text))
Try

objCommand.ExecuteNonQuery()
Catch sqlexceptionerr As OleDbException
MessageBox.Show(sqlexceptionerr.Message)
End Try

objconnection.Close()



موفق باشيد.