MySQLクエリ結果を文字列変数で取得することは可能ですか?以下のシナリオを考え、MySQLクエリ結果を文字列に格納できるかどうかを教えてください。 MySQLクエリ結果を文字列に格納する方法
Article ID Article Name Article Quantity
1 Article1 15 Units
2 Article2 20 Units
3 Article3 18 Units
は、さらに私は1つのループのために用いるもので行にアクセスしようとしています次のように私のデータベースがある(私がやっているかどうかわからない、それを右または間違った方法)。しかし、今私の主な関心事は、MySQLのクエリ結果を文字列にすることです。
private void send_serial_data(string port_name)
{
MySqlConnection MyConn2 = new MySqlConnection(MyConnection2);
SerialPort sp = new SerialPort(port_name, 9600, Parity.None, 8, StopBits.One);
MyConn2.Open();
sp.Open();
string variable; //In which I want to store Query
int j = 0; //To keep track of null rows
{
for (int i = 1; i < 20; i++) //I is defined to select new row each time
{
String Query = "";
Query = "SELECT * FROM warehouse_data.display where Article_ID= i";
MySqlCommand cmd = new MySqlCommand(Query, MyConn2);
// variable = (string)command.ExecuteScalar(); Tried this to save query but doesn't work.
int a = cmd.ExecuteNonQuery();
if (a == 0)
{
j++;
if (j >= 10)
{
MessageBox.Show("Data Transmitted Successfully");
break;
}
}
else
{
sp.Write(variable); //variable in which I want to store MySQL query
System.Threading.Thread.Sleep(5000);
}
}
}
}
基本的に私はシリアルポート(一度に1つの行)にMySQLデータを送信しようとしています。定義された文字列 '変数'にクエリを保存する方法や、forループを使用して目標を達成する方法や、効果的に行にアクセスする方法についての提案はありますか?あなたの助けは本当に感謝しています。 ありがとうございます
まず、executeReaderを使用するか、データセットを入力します。 –
ここには多くの問題があります。開始するには、ExecuteNonQueryは行を返しません。あなたはExecuteReaderを使う必要があります。一つの行を読み込み、すべてのフィールドを文字列に変換し、それを繰り返し送信します。しかし、これを行う前に、私は変数があなたのクエリをフィルタリングする値ではないので、そのクエリを修正する必要があります – Steve