看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《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