作者rushcloud (嗚啦啦~)
看板Database
標題[SQL ] C#不能寫入MYSQL
時間Thu Nov 5 12:04:23 2009
原本以為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