最近、MySQLのSQLステートメントについてかなりの数の質問がありますが、目的に合ったものはありません。
SQLステートメントを保存するクラスがあり、コードを整理するためのメソッドとして使用できます。Insert、Update、Delete、およびCountステートメントを既に実行しましたが、SELECTステートメントの解決策が見つからないようです。
他のステートメントのコードは次のとおりです。
public void Insert(string query)
{
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, mycon);
cmd.ExecuteNonQuery();
CloseConnnection();
}
}
public void Update(string query)
{
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = query;
cmd.Connection = mycon;
cmd.ExecuteNonQuery();
CloseConnnection();
}
}
public void Delete(string query)
{
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, mycon);
cmd.ExecuteNonQuery();
CloseConnnection();
}
}
public int Count(string query)
{
int count = 0;
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, mycon);
count = int.Parse(cmd.ExecuteScalar() + "");
CloseConnnection();
return count;
}
else
{
return count;
}
}
私は次のようなSELECTメソッドを考えています。
public string[] Select(string query, int colnum)
{
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, mycon);
MySqlDataReader dr = new MySqlDataReader();
string[] info = new string[colnum];
dr = cmd.ExecuteReader();
while (dr.Read())
{
for (int i = 0; i <= colnum; i++)
{
info[i] = (dr[colnum].ToString());
}
}
}
}
この行は、私が知っているのでかなり架空のinfo[i] = (dr[colnum].ToString());
ものです。私が望むようには機能しません。メソッドを使用してSELECTステートメントを利用できる、同様のロジックまたはそのようなものを探しています。