我试图抓取某个列/列表框中的元素,其类型为"数字"并将它们存储在C#中的List中。
datTable = new DataTable();
sqlCmd = new SqlCommand(@
"SELECT DISTINCT [" + form1.getColumnName() + "]
FROM [" + form1.getTableName() + "]", connection);
sqlDatAdapter = new SqlDataAdapter(sqlCmd.CommandText, connection);
sqlDatAdapter.Fill(datTable);
form1.columnStorList.DisplayMember = form1.getColumnName();
form1.columnStorList.ValueMember = "Column1";
form1.costStorList.DataSource = datTable;
List<Decimal> columnElements = new List<Decimal>();
foreach (var selectedItem in form1.columnStorList.SelectedItems)
{
DataRow row = (selectedItem as DataRowView).Row;
columnElements.Add(row.Field<decimal>(form1.getColumnName()));
}
不知怎的,他不想转换它。 Double并不起作用。例如,值'0,000000'
显示为'0'
。我试图将元素转换为Double,然后我得到'0.0'
。十进制应该是最接近数字还是我错了?如何正确显示?
当我在列表框中突出显示它时,我想使用SELECT
语句(SELECT...FROM...WHERE...=0,000000)
来搜索数据库中的值。由于他将值减去了我在数据库中找不到的特定值。
SELECT语句是:
datTable = new DataTable();
fullStatementColumn = Convert.ToString(columnElements[0]);
String selectStatement = "SELECT [" + form1.colBox.Text + "]
FROM [" + form1.tableNameVal.Text + "]
WHERE convert(varchar(120),[" + form1.getColumnName() + "])='"
+ fullStatementColumn + "'";