PDA

View Full Version : ارتباط با پایگاه



sheida-peyravi
چهارشنبه 14 فروردین 1387, 16:11 عصر
من دو فرم طراحی کرده ام که یکی اطلاعات اولیه را می گیرد وبر اساس اطلاعات داده شده تمامی اطلاعات را در فرم دومی که پس از زدن کلید جستجو در فرم اول باز می شود و در یک Datagrid تمامی اطلاعات افراد را به صورت سطر به سطر نمایش می دهد.
در زمان اجرا و برقراری ارتباط با فرم دوم این خط زرد رنگ شده

(Me.SqlDataAdapter1.Fill(Me.DataSet41.u_search


و این پیغام را می دهد اشکال از کجاست

Failed to enable constraints. One or more rows contain values violating non-null, unique, or
foreign-key constraints.

من در پایگاه داده کلید تعریف نکرده ام تا تمام خط را کلید بگیرد.



PrivateSub btnsearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsearch.Click
'Dim dataset1 As New DataSet

'dataset1 = New DataSet("dataset1")

Dim connectionString AsString = "Persist security Info=True;Initial Catalog=DB_university;packet size=4096;integrated security=True;Database=user-cf89685757;"

Dim sqlconnection1 As SqlClient.SqlConnection = New SqlClient.SqlConnection(connectionString)
Dim conn As SqlClient.SqlConnection = New SqlClient.SqlConnection
Dim cmd AsNew SqlClient.SqlCommand
cmd.Connection = conn
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@Id", System.Data.SqlDbType.NVarChar)
cmd.Parameters.Add("@name", System.Data.SqlDbType.NVarChar)
cmd.Parameters.Add("@family", System.Data.SqlDbType.NVarChar)
cmd.Parameters.Add("@term", System.Data.SqlDbType.NVarChar)
cmd.Parameters.Add("@vorudi", System.Data.SqlDbType.Int)

cmd.Parameters("@Id").Value = tbId.Text
cmd.Parameters("@name").Value = tbname.Text
cmd.Parameters("@family").Value = tbfamily.Text
cmd.Parameters("@term").Value = cbterm.SelectedIndex
cmd.Parameters("@vorudi").Value = cbvorudi.SelectedIndex
Me.SqlDataAdapter1.Fill(Me.DataSet41.u_search)
'dgdisplay.DataSource = DataSet41

'dgdisplay.Refresh()

If (tbId.Text.Length = 0 And tbname.Text.Length = 0 And tbfamily.Text.Length = 0 And cbterm.Text.Length = 0 Or cbvorudi.Text.Length = 0) Or (cbterm.Text.Length = 0 Or cbvorudi.Text.Length = 0) Then

MsgBox("لطفا مقادیر فیلدهای مورد نظر را وارد نمایید.تاجستجو با صحت بیشتری انجام گیرد. ", MsgBoxStyle.Information, "اطلاع رسانی آموزش")
MsgBox("شما میتوانید هر بخشی که مایلید را پر کنید،اما فیلد ترم و ورودی حتما میبایست انتخاب شوند ", MsgBoxStyle.OkOnly, "اطلاع رسانی آموزش")
ExitSub

DataSet41.Clear()
EndIf

Dim f AsNew display
f.Show()

touraj
پنج شنبه 15 فروردین 1387, 23:40 عصر
من در پایگاه داده کلید تعریف نکرده ام تا تمام خط را کلید بگیرد.

شاید حرفم درست نباشه. اما فکر کنم مشکل از همینه که کلید تعریف نکردی.

sheida-peyravi
جمعه 16 فروردین 1387, 08:53 صبح
در این بخشهیچ خطایی موجود نیست

sheida-peyravi
جمعه 16 فروردین 1387, 08:58 صبح
در این بخش هیچ خطایی موجود نیست

touraj
جمعه 16 فروردین 1387, 11:37 صبح
در این بخش هیچ خطایی موجود نیست

خب؟ مشکلی که داره چیه؟ یعنی دیگه خطا نمیگیره؟ مشکل حل شد؟

saman_itc
جمعه 16 فروردین 1387, 12:16 عصر
شاید حرفم درست نباشه. اما فکر کنم مشکل از همینه که کلید تعریف نکردی.
تعریف نکردن کلید هیچ وقت باعث ایجاد خطا نمی شه
میتونی کلید خودت دستی درست و چک کنی که به نظر من خیلی بهتر تا اینکه برنامه ازت خطا بگیره!!!

sheida-peyravi
شنبه 17 فروردین 1387, 15:45 عصر
متشکرم .مشکلم حل شد برنامه من نه error داشت نه warningبلکه هنگام اجرا بخشهایی که در کانکت شدن با دیتابیس مشکل داشتند را با کادر زرد رنگ نشان می داد تا مشکلش حل شو د.
من هنگام ساختن dataset دو جدول شبیه به هم ساخته بودم با یک ارتباط کلیدی که هنگام خواندن مشکل پیدا میکردکه کدام را بخواند.