سلام
من هم دارم یک برنامه می نویسم برای همین کار
با تحقیقی که تا حالا کردم به می تونم اینطوری راهنمایی کنم. البته اینها که می گم شاید درست نباشه.
1- خوب اولا دیتابیس روی هاست از چه نوعی هست. اگه از نوع mysql هست باید dll مربوطه رو از سایت mysql دانلود و به رفرنست اضافه کنی.
2- اگه به صورت لوکال می تونی به دیتابیس mysql وصل بشی ولی از روی هاست نمی تونی احتمالا بخاطر اعمال محدودیتی هست که ارائه کننده هاست اعمال می کنه. (جالب اینه که من بایکی از این ارائه کننده های هاست که تماس گرفتم اصلا نمی فهمیدن من چی می گم تا بتونن به مشکل رسیدگی کنن.)
من روی سایتهای رایگان آزمایش کردم ولی اونا دارای محدودیت هستند.
اینم کدی هست که من باهاش با دیتابیس mysql کار کردم.
Imports MySql.Data.MySqlClient
Imports System
Imports System.Text
Imports Microsoft.VisualBasic
Public Class Form1
Dim myConnString As String = "host=pc6;UserName=root;Password=;Database=myd b"
Dim myConnection As MySqlConnection = New MySqlConnection(myConnString)
Dim dt As DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myConnection.Open()
Button1_Click(sender, e)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
DataGridView1.DataBindings.Clear()
Dim mySelectQuery As String = "SELECT * FROM users"
''Dim myCommand As MySqlCommand = New MySqlCommand(mySelectQuery, myConnection)
''Dim obj As Object = myCommand.ExecuteScalar
''Dim str As String = CType(obj, String)
''MsgBox(str)
Dim da As MySqlDataAdapter = New MySqlDataAdapter(mySelectQuery, myConnection)
Dim ds As DataSet = New DataSet
da.Fill(ds, "mytb")
da.TableMappings.Add("Table", "Mytb")
'dt.Rows.Clear()
dt = ds.Tables("Mytb")
DataGridView1.DataSource = dt
' dt.TableName = "Mytb"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim password, username As String
password = TextBox2.Text
username = TextBox1.Text
Dim fnam As Encoding = UTF8Encoding.UTF8
' name=(name, fname)
Dim passwordUTF8 As String = System.Text.Encoding.UTF8.GetString(System.Text.En coding.Convert(System.Text.Encoding.UTF8, System.Text.Encoding.UTF8, System.Text.Encoding.UTF8.GetBytes(password)))
Dim usernameUTF8 As String = System.Text.Encoding.UTF8.GetString(System.Text.En coding.Convert(System.Text.Encoding.UTF8, System.Text.Encoding.UTF8, System.Text.Encoding.UTF8.GetBytes(username)))
'Dim utfS As Encoding = System.Text.Encoding.Unicode
'Dim utfD As Encoding = System.Text.Encoding.UTF8
'Dim usernameUTF8 As String = utfD.GetString(utfD.Convert(utfS, utfD, utfS.GetBytes(username)))
'Dim cmd1 As MySqlCommand = New MySqlCommand("set users utf-8", myConnection)
'cmd1.ExecuteNonQuery()
Dim cmd As MySqlCommand = New MySqlCommand("insert into users (password,username)values('" & passwordUTF8 & "','" & usernameUTF8 & "')", myConnection)
cmd.ExecuteNonQuery()
MsgBox("ثبت شد")
Button1_Click(sender, e)
End Sub
End Class
'Dim myConnString As String = "Persist Security Info=False;Username=IRANTAJE_USER;PASSWORD=IRANTAJ E_PASS;database=IRANTAJE_DB;server=IRAN-TAJERAN;Connect Timeout=30"
' Dim myConnString As String = "Host=;UserName=IRANTAJE_USER;Password=IRANTAJE_PA SS;Database=IRANTAJE_db"
' Dim myConnString As String = "Host=hostnamee;UserName=UserName;Password=pass;Da tabase=DataBaseName"
' Dim myConnString As String = "host=pc6;UserName=root;Password=;Database=bar bod"
''''''' Dim myConnString As String = "server=sql113.gigfa.com;UserName=gigfa_5024665;Pa ssword=13588531;Database=gigfa_5024665_db"
' Dim myConnString As String = "server=localhost; user id=root; password=; database=db"
' Dim myConnString As String = "port=3306;host=sql113.gigfa.com;UserName=gigfa_50 24665;Password=13588531;Database=gigfa_5024665_db"
' Dim myConnection As MySqlConnection = New MySqlConnection(myConnString)
' myConnection.Open()
'Dim MYREADER As MySqlDataReader
'MYREADER = myCommand.ExecuteReader()
'MessageBox.Show(MYREADER.GetInt32(0) + ", " + MYREADER.GetString(1))
'myConnection.Close()
ببخشید که کدها درهم برهم هست.
یک نکته: من بعد از 20 روز سر رو کله زدن با Mysql به این نتیجه رسیدم که برای دیتابیس هاستم از sqlserver استفاده کنم و نه mysql . موقعی از winapp به mysql اطلاعاتی رو ادد می کردم با کارکتر های فارسی مشکل داشت. در ضمن sql قوی تر از mysql هست.
می تونی این لینک رو هم بخونی مباحث خوبی مطرح شده.
https://barnamenevis.org/showthread.php?t=198755
در ضمن من پستهای قبلی این تاپیک رو کامل نخوندم اگه مطالبی تکراری گفتم ببخشید.
احتمالا هفته بعد باید مشکلم با اتصال راه درو دیتابیس حل بشه. حتما خبر خواهم داد. خوشحال می شم در صورتی هم که شما موفق شدید ما رو بی نصیب نزارید.