PDA

View Full Version : کمک در حل مشکلات یک برنامه



teymoorei
سه شنبه 14 تیر 1390, 17:54 عصر
سلام دوستان من به چند تا مشکل توی یک برنامه بر خوردم که همه رو یکجا میپرسم .

1-وقتی توی sql چیزی ذخیره می کنم به صورت (؟؟؟؟؟) نشون میده . کلی هم جستجو کردم همه جا نوشته شده بود باید یه دونه N قبل دستور بزارم اما من به یه شکل دیگه اطلاعات رو ذخیره کردم یعنی از دستور insert استفاده نکردم چون می خوام یه تصویر هم ذخیره کنم یا گفته بودن از نوع nchar استفاده کنم ولی توی این نوع باز نمی تونم متن زیادی ذخیره کنم .
2- می خوام توی فیلدام یه صفحه پر از کاراکتر ذخیره کنم که فقط یه خطش ذخیره میشه .
3-می خوام وقتی دکمه ی next رو میزنم بره عکس بعدی رو بیاره البته من عکس رو قبلا ذخیره کردم و با جستجوی عکس مشکلی ندارم فقط بعدی ، قبلی نمیره .
دوستان فکر می کنم کامل توضیح دادم .
من کلی جستجو کردم به نتیجه ی خوبی نرسیدم واسه همین تاپیک رو ایجاد کردم .

majid_vb_2008
سه شنبه 14 تیر 1390, 18:47 عصر
برای مشکل اولت نوع داده رو توی بانکت برابر Ntext بزار مشکلت برطرف می شه

esh_computer110
سه شنبه 14 تیر 1390, 19:58 عصر
کاراکتر n که قبل از بعضی نوع ها در اسیکو ال قرار داره به معنی پشتیبانی آن از نوع utf است پس شما هم نوع مورد نظر خود را اگر درست انتخاب کنی مشکلت حل میشه

teymoorei
چهارشنبه 15 تیر 1390, 18:12 عصر
سلام ممنون از راهنمایی تون
اما من از Ntext استفاده کردم اما می خوام تعداد زیادی کاراکتر داخل یک فیلد ذخیره کنمک که نمیشه و همچنین نمی تونم فارسی جستجو کنم .
راستی یه فکری به حال سوال 3 هم بکنید .
نگید تنبله به خدا خیلی جستجو کردم که حالا تاپیک زدم .

teymoorei
جمعه 17 تیر 1390, 09:53 صبح
سلام دوستان
یعنی واقعا کسی نیست کمک کنه .:گریه::گریه::گریه:
من همچنان منتظرم ، پروژم لنگ مونده ، لطفا کمک کنید .

alimanam
جمعه 17 تیر 1390, 12:59 عصر
با سلام


یعنی واقعا کسی نیست کمک کنه .:گریه::گریه::گریه:معلوم هست کجا سرچ کردین که نتونستین مشکلتون رو حل کنین ؟!!!!! اگر کسی بهتون جواب نداده حق داشته . به هر حال میتونی از این سورس کد استفاده کنی .

http://www.sayehupload.com/images/ozt3gboxsawc52qiedy0.gif


موفق باشید ./

salam333
جمعه 17 تیر 1390, 20:43 عصر
اگه ممكنه كلمه عبور نيز قرار بدي
باتشكر

teymoorei
شنبه 18 تیر 1390, 12:29 عصر
سلام
اما سه سوال دیگه دارم
من نمی تونم توی sql فارسی جستجو کنم وهم چنین (؟؟؟؟؟) ذخیره میشه وهمچنین می خوام یه متن طولانی ذخیره کنم همیشه توی اکسز از نوع memo استفاده می کردم اما اینجا نمی دونم باید چیکار کنم + کلی هم سرچ کردم که روش های مختلی گفتند ولی هیچ کدوم کارا نبود .
البته توی پست اول هم توضیح کاملی دادم
باتشکر

alimanam
شنبه 18 تیر 1390, 19:06 عصر
با سلام

باید نوع فیلدت رو nText انتخاب میکردین مابقی سوالتون رو در یک سورس پاسخ دادم .

http://www.sayehupload.com/images/cdm1o237ms70d4ups57.jpg

موفق باشید ./

saeid14144
یک شنبه 19 تیر 1390, 12:13 عصر
با تشكر

كلمه عبورشم بذار لطفا

alimanam
یک شنبه 19 تیر 1390, 17:59 عصر
با سلام


كلمه عبورشم بذار لطفا کلمه عبور پست 6 : 1213

موفق باشید ./

teymoorei
یک شنبه 19 تیر 1390, 18:25 عصر
این مشکل از کجا سر در آورده ؟
72250
اینم کد ذخیره سازی برنامه :

Dim cmd As New SqlCommand("Insert Into Table11 (Name,group1,disk1, pic,tozih) Values (@Name,@group1,@disk1, @pic,@tozih)", cnn)
cmd.Parameters.AddWithValue("@name", Textbox1.Text)
cmd.Parameters.AddWithValue("@group1", ComboBox1.Text)
cmd.Parameters.AddWithValue("@disk1", TextBox2.Text)
cmd.Parameters.Add("@pic", SqlDbType.Image)
cmd.Parameters("@pic").Value = ImageBytes
cmd.Parameters.AddWithValue("@tozih", Textbox3.Text)

alimanam
یک شنبه 19 تیر 1390, 18:35 عصر
این مشکل از کجا سر در آورده ؟خوب انگلیسی نوشته دیگه بنده خدا !!!!!!!!!!! شما در یکی از فیلدهاتون که از نوع Integer هست رو اومدی مقدار String دادی یعنی نوشتی uhf !!!! باید اطلاعات درست رو وارد تکس باکس ها یا اون کامبوباکس کنی برای اینکه در آینده از این Bug های ابتدایی در برنامه جلوگیری کنی حتماً باید از صحت داده های وارد شده به برنامه اطمینان حاصل کنی یا واضحتر بگم باید برای داده هاتون (داده های تکس باکس ها و .... ) اعتبار سنجی رو در نظر بگیرین تا به جای اینکه مثلاً کاربر باید عدد وارد کنه نیاد یه رشته رو وارد کنه .

موفق باشید ./

teymoorei
یک شنبه 19 تیر 1390, 18:44 عصر
خوب من به فارسی هم نوشتم "علی " بازم هم این مشکل رو داشت و همچنین من یک فیلد از نوع int دارم که اصلا نمی زارم کاربر داخل تکست باکس جز عدد چیز دیگه ای وارد کنه .
تاز شاید من بخوام انگلیسی وارد کنم اون وقت چی ؟

alimanam
یک شنبه 19 تیر 1390, 18:53 عصر
خوب من به فارسی هم نوشتم "علی " بازم هم این مشکل رو داشت و همچنین من یک فیلد از نوع int دارم که اصلا نمی زارم کاربر داخل تکست باکس جز عدد چیز دیگه ای وارد کنه .
تاز شاید من بخوام انگلیسی وارد کنم اون وقت چی ؟

یه نمونه از اون قسمت برنامه ات رو با بانک اطلاعاتی رو بده ببینم مشکلت چیه در ضمن درست متوجه منظور من نشدی !

teymoorei
یک شنبه 19 تیر 1390, 21:51 عصر
کد زیر کد ذخیره ی برنامه منه :
Private Sub InsertImage(ByVal filename As String)
Dim cnn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DataBase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")

Dim sampleImage As Bitmap = New Bitmap(filename)
Dim mStream As New System.IO.MemoryStream
Dim ImageBytes As Byte()

sampleImage.Save(mStream, Imaging.ImageFormat.Png)
ImageBytes = mStream.ToArray

Dim cmd As New SqlCommand("Insert Into Table11 (Name,group1,disk1, pic,tozih) Values (@Name,@group1,@disk1, @pic,@tozih)", cnn)
cmd.Parameters.AddWithValue("@name", Textbox1.Text)
cmd.Parameters.AddWithValue("@group1", ComboBox1.Text)
cmd.Parameters.AddWithValue("@disk1", TextBox2.Text)
cmd.Parameters.Add("@pic", SqlDbType.Image)
cmd.Parameters("@pic").Value = ImageBytes
cmd.Parameters.AddWithValue("@tozih", Textbox3.Text)
If cnn.State = ConnectionState.Closed Then cnn.Open()
cmd.ExecuteNonQuery()
cnn.Close()
MsgBox("تصویر مورد نظر با موفقیت در پایگاه داده ذخیره شد", MsgBoxStyle.Information)
LoadData()
End Sub
__________________________________________________ ___________________________________________
اینم بانک من :
دانلود (http://www.pic.iran-forum.ir/images/nqta88prwm6st0za259.rar)

alimanam
یک شنبه 19 تیر 1390, 22:57 عصر
اینم بانک من :

بانکتون رو که نتونستم باز کنم فکر کنم ورژن 2008 باشه ؟ لطف کن نوع فیلدهاتون رو بگین چیه ؟ Name که احتمالاً باید nVarChar باشه group1 هم همینطور disk1 چی ؟ pic هم احتمالاً باید از نوع image هستش tozih هم که دیگه تابلو اعلاناته ! اگه درست حدس زدم بگو که خودم بانک رو بسازم .

teymoorei
یک شنبه 19 تیر 1390, 23:28 عصر
name : ntext
group1 : ntext
disk1 : ntext
pic : image
tozih : ntext

البته باید در اصل disk1 رو از نوع int قرار بدم اگه خودتون صلاح دونستید int کنیدش .
راستی به من نخندید که همه رو چرا ntext انتخاب کردم چون احساس کردم شاید با این نوع بشه فارسی هم جستجو کرد .

alimanam
یک شنبه 19 تیر 1390, 23:38 عصر
چرا از نوع ntext !!!!!! به نظر من nvarChar گزینه بهتریه به هر حال من با همون ntext براتون بانک رو ساختم شما خودت میتونی تغییرشون بدی به nvarchar خواهشا دیگه بیشتر از این موضوع به این آسونی رو اینقدر کشش نده چون خیلی ساده است . و آدم حس میکنه یک مقدار خودتون تو این زمینه کم کاری میکنین .

دانلود (http://alimanam.persiangig.com/ziped/123.rar)

موفق باشید ./

teymoorei
چهارشنبه 22 تیر 1390, 08:56 صبح
ممنون از همه دوستان .

teymoorei
پنج شنبه 23 تیر 1390, 15:19 عصر
و به عنوان آخرین سوال می خوام توی یه listbox و یک combobox اطلاعات زیر رو جستجو کنم و لیست کنم به نظر تون چطوری پایگاه داده رو طراحی کنم .
72444
باتشکر علی تیموری

teymoorei
جمعه 24 تیر 1390, 21:44 عصر
خودم فکر می کنم باید شاخه اول رو که مثلا (موزیک) هست در یک جدول ذخیره کنم با یک ID خاص بعدم توی جدول دیکه زیر شاخه های اون رو ذخیره کنم با ID برابر با ID شاخه ی اول و با یک دستور join اون ها رو فیلتر کنم ، اما یه جاییش برام نا مفهومه نمی دونم چرا .
لطفا شما هم نظر بدید .

teymoorei
شنبه 25 تیر 1390, 14:02 عصر
سلام دوستای گلم
آخرین سوال
برنامه ای که گفتم رو خودم نوشتم ، اما یه مسئله هست که می خوام کمکم کنید .
ببینید من 4 جدول دارم که توی هرکدوم یه ID یه دونه Catgory و یه دونه IDT دارم و هر کدوم از جدول ها رو با هم join کردم و بعد باز جدول بعدی رو با IDT جدول قبلی join کردم .
حالا سوال اینجاست که چطوری ID رو اوتوماتیک پر کنه و همچنین IDT رو من نمی خوام دستی وارد کنم .
همچنین می خوام فیلد ها رو توی یک treeview بریزم که فقط می تونم جدول اول رو درست کنم و زیر شاخه نمی تونم بدم .
حالا خودتون برنامه رو ببینید متوجه میشید .

دانلود (http://uploadtak.ir/images/24kvohj4jwbtz8obrzg.rar)

teymoorei
یک شنبه 26 تیر 1390, 09:12 صبح
سلام دوستان
حداقل یکی بگه این کد چه مشکلی داره ؟
وقتی یک آیتم رو انتخاب می کنم زیر برنامه هاش رو زیر آخرین آیتم لیست میکنه نه زیر آیتم مربوط به خودش .
درضمن یه متغییر سراسری هم تعریف کردم از نوع nodes

Label5.Text = TreeView1.SelectedNode.Text
Dim connection As SqlConnection
Dim da As SqlDataAdapter
Dim ds As DataSet
connection = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DBase1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
da = New SqlDataAdapter("Select catgory2 From Table1 join Table2 on Table1.id=Table2.id Where catgory1 Like'" & Label5.Text & "%'", connection)

ds = New DataSet
da.Fill(ds)

For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
b = a.Nodes.Add(ds.Tables(0).Rows(i)(0))
Next i
connection.Close()

salehbagheri
یک شنبه 26 تیر 1390, 17:24 عصر
حالا سوال اینجاست که چطوری ID رو اوتوماتیک پر کنه و همچنین IDT رو من نمی خوام دستی وارد کنم .

استفاده شما از دیتابیس به این صورت، غیر استاندارد هست و باید امنیت اون رو کاملاً تأمین کنید، حتی الامکان از روش هایی که مایکروسافت برای ارتباط با Database قرار داده استفاده کنید.

برای اینکه ID رو اتوماتیک پر کنه ویژگی Identity اون جدول رو به ستون مذکور ربط بدید! همچنین با استفاده از کلید خارجی یا استفاده از SP ها IDT رو هم مقدار دهی کنید. (این موارد هیچ ربطی به VB ندارند پس ادامه کار رو در تالار SQL پیگیری کنید)

teymoorei
دوشنبه 27 تیر 1390, 19:28 عصر
دوستان لطفا کمک کنید خیلی لازمش دارم این برنامه رو توی پست21 و 23 کامل توضیح دادم می خوام چیکار کنم ، البته خودم یه راه حل پیدا کردم اما فکر می کنم کند میشه برنامه .:گریه::گریه::گریه: