星期四, 七月 17, 2008

asp.net 调用 MySql 的参数

这个名起得有点不对题,我的意思是,在asp.net 写入 MySQL 的时候,用传入参数方式,开始怎么都不成功,在网上搜索了一圈以后才知道,原来MySQL 的参数名要用 ? 开头的。放在这的这篇文字就是想记住这点东西,因为以前出现过找到的东西找不到了。

一个例子:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oconn As New MySqlConnection("Data Source=192.168.1.253; Database=db1; user=walker; password=mima;")
oconn.Open()
Dim strQuery As String = "insert into t1 (uname, ucont) values (?un, ?uc)"
Dim oCmd As New MySqlCommand(strQuery, oconn)

Dim pun As MySqlParameter = New MySqlParameter("?un", MySqlDbType.VarChar, 20)
Dim puc As MySqlParameter = New MySqlParameter("?uc", MySqlDbType.VarChar, 255)
pun.Value = TextBox1.Text
puc.Value = TextBox2.Text
Dim paras As MySqlParameter() = {pun, puc}
Dim p As MySqlParameter
For Each p In paras
oCmd.Parameters.Add(p)
Next
'oCmd.Parameters.Add(New MySqlParameter("@un", MySqlDbType.VarChar, 20))
'oCmd.Parameters.Add("?uc", MySqlDbType.VarChar, 255).Value = TextBox2.Text
'oCmd.Parameters("@un").Value = TextBox1.Text
'oCmd.Parameters("@uc").Value = TextBox2.Text
oCmd.Connection = oconn
'strQuery = "insert into t1 (uname, ucont) values ('" & TextBox1.Text & "','" & TextBox2.Text & "')"
oCmd.CommandText = strQuery
oCmd.CommandType = CommandType.Text
'lblMsg.Text = oCmd.Parameters("@un").Value.ToString
Dim iVal As Integer = 0
iVal = oCmd.ExecuteNonQuery
lblMsg.Text &= "结果:" & iVal.ToString & " ."
oCmd.Parameters.Clear()
oconn.Close()
' _gb()

End Sub
有点乱哈 ....

没有评论: