PDA

View Full Version : اتصال به بانک MySql



saeedzx
پنج شنبه 13 آبان 1389, 23:36 عصر
با عرض سلام و خسته نباشید

من مدت 3 سال بود که با VB6 کار می کردم یک دفعه VB.Net رو نصب کردم و شروع کردم به کار کردن با اون

خیلی جالب و هیجان انگیزه

می خواستم بدونم چه فرمی می شه برنامه رو به بانک My Sql اتصال داد

اگر امکانش هست ( چون تازه کارم ) یک فیلم هم بذارین تشکر :تشویق:

omid-vbAuto
جمعه 14 آبان 1389, 01:11 صبح
با عرض سلام و خسته نباشید

من مدت 3 سال بود که با VB6 کار می کردم یک دفعه VB.Net رو نصب کردم و شروع کردم به کار کردن با اون

خیلی جالب و هیجان انگیزه

می خواستم بدونم چه فرمی می شه برنامه رو به بانک My Sql اتصال داد

اگر امکانش هست ( چون تازه کارم ) یک فیلم هم بذارین تشکر :تشویق:

فیلم چی می خوای ،من همه جورشو دارم .:لبخند:

alimanam
جمعه 14 آبان 1389, 08:49 صبح
با سلام

برای اینکه بتونین از پایگاه داده قدرتمند MySql در برنامه خودتون استفاده کنین باید اول رو سیستمتون نصبش کنین و بعد با استفاده ازفایل dll که ضمیمه کردم و کدهای زیر ارتباط با پایگاه داده مورد نظر و جدول رو بر قرار کنین . ( فایل ضمیمه رو به صورت رفرنس به پروژه خدتون Add کنین ) موفق باشید .

Imports MySql.Data.MySqlClient
Public Class Form1
Private ad As MySqlDataAdapter
Private dt As New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim connection As MySqlConnection
connection = New MySqlConnection()
connection.ConnectionString = "Server=localhost;Uid=userid; Pwd=12345;Database=mydb;"
Try
connection.Open()
ad = New MySqlDataAdapter("select * from Friends", connection)
dt = New DataTable
ad.Fill(dt)
' dg is Datagridview !!!
dg.DataSource = dt
connection.Close()
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
End Class

saeedzx
جمعه 14 آبان 1389, 16:40 عصر
alimanam (http://www.barnamenevis.org/forum/member.php?u=43498) جان دستت درد نکنه واقعا عالی بود


چند سوال دیگر هم دارم اگر امکان داره ؟؟؟

1.نحوه ثبت اطلاعات
2.جستجوی اطلاعات
3.حذف اطلاعات
4.چاپ اطلاعات

در بانک Mysql

خیلی ممنون

mohammad-gh
جمعه 14 آبان 1389, 19:17 عصر
فرض کنیم همین کار رو می خواهیم با بانک اطلاعاتی my sql بر روی یک هاست انجام دهیم

می دونیم که :
1- هاست ما اجازه ریموت کانکشن رو داره
2- تو هاست و بخش ریموت کانکشن اجازه ورود هر هاستی رو باورود % دادیم
3- تو لوکال هیچ مشکلی بایت اتصال نداریم
4- dll ها رو add کردیم
5- و به جای localhost نام سایت رو نوشتیم Server=fardayeno.org یا IP اون رو
به نظر شما مشکل از کجاست که چنین خطایی رو میده
http://barnamenevis.org/forum/attachment.php?attachmentid=59709&stc=1&d=1288973694

alimanam
شنبه 15 آبان 1389, 13:19 عصر
با سلام


چند سوال دیگر هم دارم اگر امکان داره ؟؟؟

1.نحوه ثبت اطلاعات
2.جستجوی اطلاعات
3.حذف اطلاعات
4.چاپ اطلاعات دوست عزیز نحوه ثبت , جستجو , حذف , انتخاب ( Select ) اطلاعات پایگاه داده MySQL هیچ فرقی با پایگاه داده اکسس یا SQL نداره و همشون با یه Sql Transaction مشابه هستن .


به نظر شما مشکل از کجاست که چنین خطایی رو میدهاین خطا یه خطای کلی هستش و ممکنه خیلی چیزا باعث رخ دادن این خطا باشه ولی این به احتمال خیلی زیاد ممکنه به خاطر این باشه که سیستم عامل سرویس دهنده لینوکسه اما با اطمینان نمیشه نظر داد . موفق باشید .

saeedzx
شنبه 15 آبان 1389, 18:56 عصر
خب می شه یک سورس و یا آموزشی کلی و یا یک منبع فارسی خوب معرفی کنید

با تشکر

alimanam
شنبه 15 آبان 1389, 20:19 عصر
با سلام


خب می شه یک سورس و یا آموزشی کلی و یا یک منبع فارسی خوب معرفی کنید

دوست عزیز دستورات sql که در پایگاه داده mysql برای جستجو , Insert , Update , Delete و غیره بکار میره با دستوراتی که در پایگاه داده اکسس یا MS SQL بکار میره تقریباً یکسانه یعنی همه اون دستوراتی که به اونها میدادیم تا اون عملیات ها انجام بشه در این پایگاه داده هم قابل پیاده سازی هستش و فرقی با اونها نمیکنه برای اینکه یه مثال هم طده باشم تا متوجه بشن چقدر شبیه هم هست به این قطعه از کد نگاهی بیانداز :

Imports MySql.Data.MySqlClient
Public Class Form1
Private ad As MySqlDataAdapter
Private dt As New DataTable
Dim sql As String = String.Empty
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim connection As MySqlConnection
connection = New MySqlConnection()
connection.ConnectionString = "Server=localhost;Uid=userid; Pwd=338686;Database=mydb;"
Try
connection.Open()
ad = New MySqlDataAdapter("select * from Friends", connection)
dt = New DataTable
ad.Fill(dt)
dg.DataSource = dt
' dg.Columns(0).Visible = False
connection.Close()
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim connection As MySqlConnection
connection = New MySqlConnection()
connection.ConnectionString = "Server=localhost;Uid=userid; Pwd=338686;Database=mydb;"
If TextBox1.Text.Length = 0 Then
sql = "Select * from friends"
Else
sql = "Select * from friends Where Fname Like '%" & TextBox1.Text & "%'"
End If
With connection
.Open()
ad = New MySqlDataAdapter(sql, connection)
Dim dt As New DataTable
ad.Fill(dt)
dg.DataSource = dt
.Close()
End With
End Sub

End Class


برای بقیه کارها ( Update , Insert , Delete یا بقیه که ممکنه کوری های مختلفی باشه هم که با دستور Select امکان پذیره با بقیه دستوراتی که با پایگاه داده اکسس و .... تفاوتی نداره )

موفق باشید .

mohammad-gh
یک شنبه 16 آبان 1389, 10:54 صبح
با سلام
من موفق به ایجاد ارتباط با بانک my sql روی هاستم شدم ، مشکل از کانکشن استرینگ بود که باید به جای نام IP سایتم رو میدادم
اما الان مشکلی که دارم موقع ورود داده های فارسی است که با اینکه همه چیز رو به utf تغییر دادم باز هم ???? میندازه
تاپیکهای مربوط به این مشکل رو هم خوندم ولی درست نشد!
این هم نمونه کدهام


Dim stutable As New DataTable
objDataAdapter = New SqlDataAdapter("select * from student where web=0", objConnection)
objConnection.Open()
objDataAdapter.Fill(stutable)
objConnection.Close()
'------------------------------
Dim objComm2 As MySqlCommand = New MySqlCommand()
objComm2.Connection = webcon
objComm2.CommandText = "SET NAMES utf8"
webcon.Open()
objComm2.ExecuteNonQuery()
webcon.Close()
Dim objComm3 As MySqlCommand = New MySqlCommand()
objComm3.Connection = webcon
objComm3.CommandText = "SET CHARACTER SET utf8"
webcon.Open()
objComm3.ExecuteNonQuery()
webcon.Close()

For i = 0 To Val(stutable.Rows.Count) - 1
Dim objCommandp As MySqlCommand = New MySqlCommand()
objCommandp.Connection = webcon
objCommandp.CommandText = "INSERT INTO stuinfo(idstu,namestu,idnum,sexstu) VALUES(@idstu,@namestu,@idnum,@sexstu)"
objCommandp.Parameters.AddWithValue("@idstu", stutable.Rows(i).Item("id"))
objCommandp.Parameters.AddWithValue("@namestu", stutable.Rows(i).Item("name") + "-" + stutable.Rows(i).Item("family"))
objCommandp.Parameters.AddWithValue("@idnum", stutable.Rows(i).Item("idnum"))
objCommandp.Parameters.AddWithValue("@sexstu", stutable.Rows(i).Item("sex"))
webcon.Open()
objCommandp.ExecuteNonQuery()
webcon.Close()
Next i
MessageBox.Show("success insert to web ")

mohammad-gh
سه شنبه 18 آبان 1389, 10:31 صبح
آقای alimanam (http://barnamenevis.org/forum/member.php?u=43498) شما که تجربه اش رو داری یه نظری بده
چرا تاپیک یه دفعه ایستاد!

alimanam
سه شنبه 18 آبان 1389, 15:55 عصر
با سلام


آقای alimanam (http://barnamenevis.org/forum/member.php?u=43498) شما که تجربه اش رو داری یه نظری بده
چرا تاپیک یه دفعه ایستاد!

دوست عزیز سوال شما چه ربطی به موضوع تاپیک داره ؟

شما در این تاپیک (http://barnamenevis.org/forum/showthread.php?t=220373&highlight=mysql) جواب خودتون رو دریافت نکردین ؟


فقط جهت یادآوری :

اگه پستی مفید بود ( چیزی ازش یاد گرفتی یا به درد خورد ) با زدن دکمه تشکر به پست دهنده آن پست خاص این موضوع رو متذکر شو که گلی که لقد کردی مفید بوده )

موفق باشید .

saeedzx
سه شنبه 18 آبان 1389, 16:28 عصر
از جناب alimanam (http://www.barnamenevis.org/forum/member.php?u=43498) کمال تشکر رو می کنم فقط دوست عزیز من هر کاری کردم نتونستم برنامه را خوب درک کنم

اگر امکان داره همین کد را به صورت سورس برام اپلود کنید

در ضمن من MySQL رو نصب کردم اما می خوام این بان رو روی سایت که هاست لینوکس دارد اتصال بدم نه روی سیستم

با تشکر فراوان

mohammad-gh
سه شنبه 18 آبان 1389, 18:35 عصر
سلام

دوست عزیز سوال شما چه ربطی به موضوع تاپیک داره ؟
موضوع تاپیک اتصال به بانک my sql است و این یکی از مشکلات اتصال به این نوع بانک است
دوستمون saeedzx (http://barnamenevis.org/forum/member.php?u=54500) هم بعد از اینکه به بانک روی هاست متصل شدند این مشکل رو خواهند داشت


شما در این تاپیک (http://barnamenevis.org/forum/showthread.php?t=220373&highlight=mysql) جواب خودتون رو دریافت نکردین ؟
این تاپیک و تاپیکهای همانند رو بارها خوندم و امتحان کردم اما مشکل از این جاها نیست
اصلا مشکل زمانی است که داده ها دارند وارد بانک میشن نه زمانی که خونده میشن
دو تا کد معروف رو هم استفاده کردم set names و...

در ضمن من MySQL رو نصب کردم اما می خوام این بان رو روی سایت که هاست لینوکس دارد اتصال بدم نه روی سیستم
دوست عزیز بابت یادآوری می گم که اگر هاست نخریدی ، اول چک کن ببین هاست اجازه ریموت کانکشن رو میده یانه ؟
چون اگر هاستت این اجازه رو نده نمیشه این کار رو کرد

alimanam
سه شنبه 18 آبان 1389, 18:38 عصر
با سلام


اگر امکان داره همین کد را به صورت سورس برام اپلود کنید
از شما بعیده دوست عزیز :متفکر: کدهاش که خیلی ساده است !!! به هر حال پروژه نمونه اش رو ضمیمه کردم همینطور پایگاه داده اش رو ضمیمه کردم تا به MySql اضافه اش کنی .


در ضمن من MySQL رو نصب کردم اما می خوام این بان رو روی سایت که هاست لینوکس دارد اتصال بدم نه روی سیستم دوست عزیز فرقی نداره روی هاست استفاده کنی یا به صورت Local استفاده کنی فقط کانکشن استرینگش فرق میکنه . موفق باشید .

alimanam
سه شنبه 18 آبان 1389, 18:41 عصر
موضوع تاپیک اتصال به بانک my sql است و این یکی از مشکلات اتصال به این نوع بانک استموضوع تاپیک چیزی به غیر از این جمله نبود !!! (
می خواستم بدونم چه فرمی می شه برنامه رو به بانک My Sql اتصال داد )

موفق باشید .

mohammad-gh
دوشنبه 01 آذر 1389, 19:44 عصر
من موضوع در هر دو تاپیک php و mysql مطرح کردم اما انگار مشکل از اونجا نیست
یه سوال از کسانی که کار کردند داشتم:
آیا ورژن کانکتور mysql به این مشکل ربطی داره یا نه
من برنامه ام در vb.net 2008 و بانک اطلاعاتیم بر روی هاستی با ورژن mysql 5 است

mohammad-gh
شنبه 20 فروردین 1390, 18:07 عصر
با سلام
من مشکلم در ورود , حذف و .... اطلاعات به بانک my sql حل شد , اما حالا با مشکل جدیدی روبرو شدم
وقتی اطلاعات رو با یک select از بانک mysql می خونم چون کدینگ روی وب با کدینگ win یکی نیست
کارکترها رو کج و کوله و عجیب و غریب نشون میده
در حقیقت همون طوری نشون میه که تو بانک mysql است
برای حل این مشکل چی کار باید کنم؟

alimanam
شنبه 20 فروردین 1390, 20:35 عصر
با سلام

من فکر نمیکنم شما نیازی به راهنمایی داشته باشین چون هر پستی که در این تاپیک دادم شما نه تائید کردی نه تشکر کردی نه چیزی که بیانگر فعالیت شما باشه البته موضوعی رو در این تاپیک مطرح کردی که ربطی به عنوان تاپیک نداره و باید در تاپیکی جدا مطرح میکردین مه نکردین به هر حال جواب شما ساده است :

شما احتمالاً کانکشن استرینگتون رو هنوز اونجوری که باید باشه ست نکردین :چشمک: اگه به این فرمت نیست تغییرش بده :

Server=your_IP_Or_Site_Address;Uid=username;Pwd=yo urpassword;Database=yourdatabasename;Character Set=utf8;

همچنین در هنگامی که بانک رو طراحی میکنین اون فیلدهایی که کارکتری ( رشته ایی ) هستن باید خواص زیر رو براشون مشخص کرده باشین .


http://up.iranblog.com/images/08hc2vf9rj2obt52ingp.jpg

موفق باشید ./

mohammad-gh
دوشنبه 22 فروردین 1390, 11:52 صبح
نکته اول : ممنون از لطف تون
نکته دوم : کانکشن استرینگ همانی بود که نوشتید
نکته سوم : با تغییر کدینگ به UTF مشکل در طرف ویندوز حل شد اما در طرف وب درست نشون نمیده نمونه : http://fardayeno.org/topstudent.php
سطرهایی که درست نشون میده وقتی است که با کدینگ Latin داده وارد بانک می کنیم

نکته چهار: بازهم ممنون