نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل در خواندن اطلاعات

  1. #1

    Tick مشکل در خواندن اطلاعات

    سلام
    در فرم لود قرار هست از دوتا تیبل مختلف اطلاعات رو بخونم
    و هر تیبل رو به کامبو مختلف قرار بدم من کد رو نوشتم جواب هم می ده اما مشکل اینجاست
    که در کامبو دومی به تعداد مقدارهای
    کامبو اولی فاصله می ندازه
    مشکل از کجاست؟
    سعی کرم از
    dt.clear
    استفاده کنم چون قبلا از
    dt.clear
    جواب گرفته بودم اما اینجا کار رو بدتر می کنه
    یعنی دیگه اطلاعات تیبل اول در کامبو اول قرار نمی گیره
    ممنون می شم اگه کسی بگه مشکل از کجاست؟
    Dim cmd As New OleDb.OleDbCommand
    Dim con As New OleDb.OleDbConnection
    Dim da As New OleDb.OleDbDataAdapter(cmd)
    Dim dt As New DataTable
    Dim str As String
    Dim connectionString = "provider=microsoft.jet.oledb.4.0;data source=d:\mahi\mahi\bin\mahi.mdb;"
    str = "select major from major"
    Try
    con.ConnectionString = connectionString
    cmd.Connection = con
    con.Open()
    cmd.CommandText = str
    da.Fill(dt)
    con.Close()
    Catch ex As Exception
    MessageBox.Show(ex.Message)
    End Try

    ComboBox1.DataSource = dt
    ComboBox1.DisplayMember = "major"
    'dt.Clear()

    str = "select type_cd from type"
    Try
    con.Open()
    cmd.CommandText = str
    da.Fill(dt)
    con.Close()
    Catch ex As Exception
    MessageBox.Show(ex.Message)
    End Try

    ComboBox2.DataSource = dt
    ComboBox2.DisplayMember = "type_cd"

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    بندرعباس
    پست
    236
    دو راه برای رفع این اشکال هست
    1- برای هر کامبو یک دیتا تیبل جداگانه تعریف کن
    2- با استفاده از حلقه و دیتا ریدر این مشکلو می تونی رفع کنی.
    فکر میکنم راه اولی برای برنامه شما بهتر باشه

  3. #3
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111
    دوست عزیز شما باید نوع dt را به دیتاست تغییر بدید شما نمی توانید همزمان دو کمبوباکس را به یک جدول که دوبار پرشده متصل کنید

  4. #4
    راستش من اول می خواستم دو تا دیتا تیبل تعریف کنم اما اومدم همین جا سوال کردم دوستان گفتند لازم نیست دو سری متغیر استفاده کنی اتفاقا سری قبل هم اشکالم در کامبو ها بود که اونجوری جواب دادند.مرسی

  5. #5
    کاربر دائمی
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    بندرعباس
    پست
    236
    راستش من اول می خواستم دو تا دیتا تیبل تعریف کنم اما اومدم همین جا سوال کردم دوستان گفتند لازم نیست دو سری متغیر استفاده کنی اتفاقا سری قبل هم اشکالم در کامبو ها بود که اونجوری جواب دادند.مرسی
    درسته می شه در این صورت باید با استفاده از حلقه کامبوهاتو پرکنی

  6. #6
    کاربر دائمی آواتار reza6384
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران - شهرک ژاندارمری
    سن
    40
    پست
    740

    متد FillComboBox

    سلام. من توی برنامه ام به این خیلی احتیاج داشتم. واسه همین یه متد نوشتم که با رویداد OnClick مربوط به ComboBox فراخوانی بشه، چون مثلا وقتی توی یک فرم یک کمبو انتخاب تولیدکننده داشتم کنارش یک دکمه New گذاشته بودم و بعد از بسته شدن فرم تولیدکننده جدید باید اسم تولید کننده توی لیست می بود.
    متد اینه :

    Sub FillComboBox(ByRef Combo As ComboBox, ByVal TableName AsString, ByVal Field AsString)
    Dim Conn As String = "DataSoruce=.;InitialCatalog=Northwind;IntegratedS ecurity=True"
    Conn.Open()
    Dim DS AsNew DataSet
    Dim Result AsNew DataTable("Result")
    Dim CMD AsString = "Select " & Field & " From " & TableName & " Order By " & Field
    Dim SDA As New SqlDataAdapter(CMD,Conn)
    SDA.Fill(DS,"Result")
    Dim Counter AsInteger = Result.Rows.Count - 1 'Zero Based Index
    Combo.Items.Clear()

    For i As Integer = 0 To Counter
    Combo.Items.Add(Result.Rows(i).Item(0))
    Next
    EndSub


    این هم رویدادش


    PrivateSub cmoProducer_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles cmoUserName.Click
    FillComboBox(cmoProducers, "Producers", "Name")
    EndSub

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •