PDA

View Full Version : مشكل با max lenght زماني كه اطلاعات از يك table فراخواني مي شود



saeednadery
پنج شنبه 07 آذر 1387, 11:45 صبح
با سلام
با توجه به برنامه زير

Imports System.Data.SqlClient
Public Class edit
Dim strcon As String = "Data Source=naderi;Initial Catalog=device;Integrated Security=True"
' Public con As SqlConnection
Dim strsql As String
Dim ds As New DataSet
Dim da As SqlDataAdapter
Dim con As New SqlConnection(strcon)
Private Sub edit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
strsql = "select amvalno , serialno , location , mark , model , username, prsnlno,mhz ,typeno, state,type from device "
da = New SqlDataAdapter(strsql, con)
da.Fill(ds, "device")
TextBox1.Text = ds.Tables("device").Rows(8).Item("amvalno")
TextBox2.Text = ds.Tables("device").Rows(8).Item("serialno")
TextBox3.Text = ds.Tables("device").Rows(8).Item("username")
TextBox4.Text = ds.Tables("device").Rows(8).Item("prsnlno")
End Sub
End Class

زماني كه max lenght مثلا textbox4 را برابر با 7 قرار مي دهيم. در حالت عادي تا 7 كاركتر مي توانيم وارد نمائيم و درست هم كار مي كند .اما اگر طبق بالا اطلاعات از يك tables فراخوانده شود ودر اين textbox4 ريخته ميشود و فرض كنيد كه چهار كاركتر هم بيشتر نيست حال اگر بخواهيم سه كاركتر به آن اضافه كنيم جواب نمي دهد به نظر شما مشكل از كجا مي باشد.

rooshan2008
پنج شنبه 07 آذر 1387, 18:29 عصر
سلام
اگه شما داخل جدولتون از فیلد با نوع Nchar و char استفاده کرده باشید و طول اون رو بیشتر از 7 در نظر گرفته باشید .مثلاً اگه فیلدی به طول 7در جدول بانک اطلاعاتی داشته باشیم و از نوع Nchar هم باشه اگر ما فقط 4 حرف اون رو پر کنم بقیه فظای خالی در نظر گرفته میشود ...یعنی تمام فیلد پر هست
اگه مشکل این باشه که گفتم با این روش حل میشه:


TextBox1.Text = ds.Tables("device").Rows(8).Item("amvalno")
برای مثال:


TextBox1.Text = Trim(bles("device").Rows(8).Item("amvalno"))

با آرزوی موفقیت برای شما دوست عزیز

saeednadery
شنبه 09 آذر 1387, 07:02 صبح
با تشكر از شما دوست گرامي
با راهنمائي شما مشكلم حل شد . البته علاوه بر استفاده از trim اگر در بانك اطلاعاتي نيز نوع ديتا را از نوع nvarchar انتخاب كنم باز هم مشكل حل مي شود
با تشكر