0
この問題については、インターネット上でいくつかの解決策や提案が見つかりましたが、まだ解決できませんでした。私はどれも働いていないか、実行中に致命的なエラーを投げていた、これはパラメータ '?...'は既に定義されています
public async Task<IEnumerable<DatabaseFieldSet>> QueryParamsAsync(string query, string[] parameter,
string[] value)
{
if (!IsConnected)
await ConnectAsync();
var rows = new List<DatabaseFieldSet>();
using (var cmd = CreateCommand(query))
{
foreach (var str in parameter)
{
foreach (var val in value)
{
//cmd.Parameters.Add(str, MySqlDbType.VarChar).Value = val;
cmd.Parameters.AddWithValue(str, val);
}
}
using (var reader = await cmd.ExecuteReaderAsync())
{
uint currentRowIndex = 0;
while (await reader.ReadAsync())
{
var row = new DatabaseFieldSet(currentRowIndex);
var fields = new List<DatabaseField>();
for (var i = 0; i < reader.FieldCount; ++i)
{
var column = new DatabaseReference((uint) i);
fields.Add(new DatabaseField(reader[i], column, row));
}
row.Fields = fields;
rows.Add(row);
currentRowIndex++;
}
}
}
return rows;
}
私は別の場所で
cmd.Parameters.Clear();
を追加しようとした特徴の個人的なMySQLのラッパーを書きました。誰かがこの単一の声明をどこに置くべきか教えてくれることを願っています。
ありがとうございました!私は完全にオフだった! – Jony