使用 if 句子显示在文本框中



我将数据库中的一些数据显示到Windows窗体上的文本框中,我必须添加其他内容,但这取决于帐户类型(该信息保存在我的Databse上)。这意味着它要么是DM(国内)要么是CM(商业)。如果是CM,我希望它收取额外费用。 我将不胜感激任何帮助,谢谢。

OracleDataReader myReader = null;
OracleCommand myCommand = new OracleCommand("SELECT SUM(IMPORTE) AS corriente FROM MOVIMIENTOS WHERE CUENTA='"+txtIngreseCuenta3.Text + "'AND CONCEPTO=10", connectionString);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
txtCorriente.Text = (myReader["corriente"].ToString());
}

我使用此代码显示在文本框中,但我希望它从另一个表中获取帐户类型,如果是 CM,则将一定金额添加到文本框中。

在您的情况下,我建议您使用执行标量而不是读取器,因为您只从数据库中返回一个值。 但在您的情况下,如果您希望此代码正常工作,则需要将返回的值转换为正确的点网类型,然后填充文本框。

使用执行读取器的示例

//txtCorriente.Text = ((int)myReader["corriente"]).ToString();
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand(queryString, connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
txtCorriente.Text = ((int)reader["corriente"]).ToString();
txtAnother.Text = ((decimal)reader["another"]).ToString();
Console.WriteLine(String.Format("{0}", reader[0]));
}
}
}

使用执行标量的示例

static public int AddProductCategory(string newName, string connString)
{
Int32 newProdID = 0;
string sql =
"INSERT INTO Production.ProductCategory (Name) VALUES (@Name); "
+ "SELECT CAST(scope_identity() AS int)";
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@Name", SqlDbType.VarChar);
cmd.Parameters["@name"].Value = newName;
try
{
conn.Open();
newProdID = (Int32)cmd.ExecuteScalar();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
return (int)newProdID;
}