我如何从特定列的第一个 table 单元格中获取单个值
How do i get single value from first table cell of particular column
我想将 eurvalue 变量设置为等于 AvailableMoney table 中第一个单元格的值,列 EUR
这个我试过了
float eurvalue;
string connectionString = @"Data Source=C:\Users\FluksikartoN\Documents\BFDB.sdf;Password=Corocoro93!";
string sql = "SELECT EUR FROM AvailableMoney";
using (SqlCeConnection conn = new SqlCeConnection(connectionString))
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand(sql, conn))
{
eurvalue = (float)cmd.ExecuteScalar();
//cmd.Parameters.AddWithValue("@valueeur", value);
// cmd.ExecuteNonQuery();
}
}
label2.Text = eurvalue.ToString();
使用 ExecuteReader
instead ExecuteScalar
. The method ExecuteReader
returns a SqlCeDataReader
允许从数据源读取只进行流。
float eurvalue = 0.0f;
string connectionString = @"Data Source=C:\Users\FluksikartoN\Documents\BFDB.sdf;Password=Corocoro93!";
string sql = "SELECT TOP 1 EUR FROM AvailableMoney";
using (SqlCeConnection conn = new SqlCeConnection(connectionString))
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand(sql, conn))
{
using(var reader = cmd.ExecuteReader())
{
if(reader.Read())
{
eurvalue = reader.GetFloat(0);
}
}
}
}
label2.Text = eurvalue.ToString();
一切都是关于稳健的错误和空值检查。
顺便说一句,float
通常是 currency/money 的不良数据类型,因为它会失去精度。我不知道 SQL Server CE 提供什么,但如果可以的话,请使用十进制类型。
using (SqlCeCommand cmd = new SqlCeCommand(sql, conn))
{
object val = cmd.ExecuteScalar();
if(val != null)
{
if(float.TryParse(val.ToString(), out eurvalue))
{
label2.Text = eurvalue.ToString();
}
}
}
我想将 eurvalue 变量设置为等于 AvailableMoney table 中第一个单元格的值,列 EUR 这个我试过了
float eurvalue;
string connectionString = @"Data Source=C:\Users\FluksikartoN\Documents\BFDB.sdf;Password=Corocoro93!";
string sql = "SELECT EUR FROM AvailableMoney";
using (SqlCeConnection conn = new SqlCeConnection(connectionString))
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand(sql, conn))
{
eurvalue = (float)cmd.ExecuteScalar();
//cmd.Parameters.AddWithValue("@valueeur", value);
// cmd.ExecuteNonQuery();
}
}
label2.Text = eurvalue.ToString();
使用 ExecuteReader
instead ExecuteScalar
. The method ExecuteReader
returns a SqlCeDataReader
允许从数据源读取只进行流。
float eurvalue = 0.0f;
string connectionString = @"Data Source=C:\Users\FluksikartoN\Documents\BFDB.sdf;Password=Corocoro93!";
string sql = "SELECT TOP 1 EUR FROM AvailableMoney";
using (SqlCeConnection conn = new SqlCeConnection(connectionString))
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand(sql, conn))
{
using(var reader = cmd.ExecuteReader())
{
if(reader.Read())
{
eurvalue = reader.GetFloat(0);
}
}
}
}
label2.Text = eurvalue.ToString();
一切都是关于稳健的错误和空值检查。
顺便说一句,float
通常是 currency/money 的不良数据类型,因为它会失去精度。我不知道 SQL Server CE 提供什么,但如果可以的话,请使用十进制类型。
using (SqlCeCommand cmd = new SqlCeCommand(sql, conn))
{
object val = cmd.ExecuteScalar();
if(val != null)
{
if(float.TryParse(val.ToString(), out eurvalue))
{
label2.Text = eurvalue.ToString();
}
}
}