精華區beta Database 關於我們 聯絡資訊
原本以為for迴圈裡面有寫錯了 不過 cmd.CommandText = "DELETE FROM rfid WHERE present='1'"; 用這段指令去測試能不能刪掉表單裡面 present為1 的欄位 結果也沒有動作 是有哪邊程式碼打錯了嗎? 但是查詢那部份可以印出來 小弟第一次用C#連接MySQL C#也才剛碰 問了蠢問題 請大家見諒 以下是C#的程式碼 using System; using System.Data; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using MySql.Data.MySqlClient; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { MySqlConnection myConn; MySqlCommand cmd; MySqlDataReader dr; ArrayList arrLocMonitor = new ArrayList(); ArrayList arrDB = new ArrayList(); arrLocMonitor.Add("a"); arrLocMonitor.Add("b"); arrLocMonitor.Add("c"); arrLocMonitor.Add("d"); myConn = new MySqlConnection(); myConn.ConnectionString = "database=computer;server=localhost;User id=root; pwd=123"; string sql = string.Empty; try { sql = "SELECT * FROM rfid WHERE present = '0'"; myConn.Open(); cmd = new MySqlCommand(sql, myConn); Console.WriteLine(cmd.ExecuteNonQuery().ToString()); dr = cmd.ExecuteReader(); if (dr.HasRows) { cmd.CommandText = "DELETE FROM rfid WHERE present='1'"; while (dr.Read()) { string col1 = dr.GetString("account").ToString(); string col2 = dr.GetString("present").ToString(); string col3 = dr.GetString("classroom").ToString(); //string col1 = dr.GetString("id").ToString(); //string col2 = dr.GetString("st_number").ToString(); //string col3 = dr.GetString("st_status").ToString(); //cmd.CommandText = "UPDATE rfid SET classroom='T3301',present='1' WHERE account=b"; Console.Write(col1 + " - " + col2 + " - " + col3); if (!arrLocMonitor.Contains(col2)) { Console.Write(" - TRUE\n"); } else { Console.Write(" - FALSE\n"); } arrDB.Add(col1); for (int i = 0; i < arrLocMonitor.Count; i++) { if (arrDB.Contains(arrLocMonitor[i]) == false) { cmd.CommandText = "UPDATE rfid SET classroom='T3301',present='1' WHERE account=" + arrLocMonitor[i]; } else { break; } } } PrintArrayListElement(arrDB); } } catch (Exception e) { Console.WriteLine(e.Message.ToString()); } finally { myConn.Close(); } } private static void PrintArrayListElement(ArrayList _ArrList) { for (int i = 0; i < _ArrList.Count; i++) { if (i != (_ArrList.Count - 1)) { Console.Write(_ArrList[i] + ", "); } else { Console.Write(_ArrList[i]); } } Console.WriteLine(); } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.203.30.53