作者Peruheru (还在想)
看板Visual_Basic
标题Re: [.NET] 请问有关VB2005连MySQL的问题
时间Thu May 14 09:20:47 2009
※ 引述《dichia (ptt处处有温情)》之铭言:
: 试看看
: dim dbcmd as string
: dbcmd = "insert into user_info(name, year, stdID)
: values ('" & TextBox1.Text & "','" & TextBox2.Text & "',
: '" & TextBox3.Text &"')"
: dbconn.open()
: Dim dbcmd As New SqlDbCommand(dbcmd, dbconn)
: dim i as integer = dbcmd.ExecuteNonQuery()
: If i = 1 Then
: MessageBox.Show("资料新增成功!")
: Else
: MessageBox.Show("资料新增失败!")
: End If
: dbconn.Close()
这是我用C#的写法(昨天写的)
DataTable dt = new DataTable();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
OdbcConnection mySqlconn = new OdbcConnection(
"Driver={MySQL ODBC 5.1 Driver};"+
"Server=localhost;Database=test;"+
"User=root;Password=0000;Option=3;");
OdbcCommand mySqlCom = new OdbcCommand(
"SELECT * FROM test2");
mySqlCom.Connection= mySqlconn;
OdbcDataAdapter mySqlAdap = new OdbcDataAdapter(mySqlCom);
DataSet mySqlDS = new DataSet();
mySqlAdap.Fill(mySqlDS);
dt = mySqlDS.Tables[0];
dataGridView1.DataSource = dt;
}
private void label1_Click(object sender, EventArgs e)
{
OdbcConnection mySqlconn = new OdbcConnection(
"Driver={MySQL ODBC 5.1 Driver};" +
"Server=localhost;Database=test;" +
"User=root;Password=0000;Option=3;");
OdbcCommand mySqlInsertCom = new OdbcCommand();
mySqlInsertCom.Connection = mySqlconn;
StringBuilder sb = new StringBuilder();
sb.Append("INSERT INTO test2(fname,Num) values (?,?)");
mySqlInsertCom.CommandText = sb.ToString();
OdbcParameterCollection parm = mySqlInsertCom.Parameters;
parm.Add("fname", OdbcType.VarChar);
parm.Add("Num", OdbcType.Int);
parm[0].Value = "yyy";
parm[1].Value = 1044;
mySqlconn.Open();
mySqlInsertCom.ExecuteNonQuery();
mySqlconn.Close();
Form1_Load(sender, e);
}
因为只是要测试能不能运作
所以元件都是乱拉的,看到我用Label1来启动事件也不用想太多XD
我主要是在试着使用Parameter
如果用Parameter的话
可以不用一再重复的去改SQL字句
只要在需要时更改Parameter得值就可以再写入一笔资料了
很容易得就可以制成回圈
不过MySQL这个不具名参数的方式让我搞好久才知道怎麽用
似乎只要SQL语句里面的问号位置有对到Parameter
(就是第一个问号对第一个Parameter)
Parameter要取啥名字都可以的样子
Google搜寻都没找到方法(关键字不对)
才发现版上就有讲到这点了
这篇也顺便请我前几篇文章回应的人参考一下吧XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 192.192.154.54