我的代码:
DataTable dt = new DataTable();
mySqlDataAdapter.Fill(dt);
int socot = dt.Rows.Count;
for (int i = 0; i < socot; i++)
{
String dn = dt.Rows[i][1].ToString();
String gduan = "SELECT tennha FROM duannha WHERE id=@id";
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandText = gduan;
cmd.Parameters.AddWithValue("@id", dn);
String gtennha = cmd.ExecuteScalar().ToString();
dt.Rows[i][1] = gtennha;
}
当我运行代码时,我收到一个错误。请帮我修复它。
最佳答案
Expected Type as Int32
如果 gtennha
包含数字,您可以将其解析为 int
。有了更多的保障:
var gtennha = cmd.ExecuteScalar();
try
{
if(gtennha != null)
dt.Rows[i][1] = int.Parse(gtennha.ToString());
else
Console.WriteLine("Error: Query didn't return a result.");
}
catch(FormatException ex)
{
Console.WriteLine("Error: Couldn't parse 'gtennha' to a number.");
/* more error handling */
}
关于c# - 数据表 C# 输入字符串的格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38543051/