这是我用来通过 DataReader 从 sql 读取数据的代码。当表中存在 NULL 时,它会给出错误。怎么处理呢?
我试过
c.ActualWeight= dr[0] as float? ?? default(float);
Run Code Online (Sandbox Code Playgroud)
这样做的问题是,它成功处理 NULL,但结果始终为 0,即使 sql 数据库在该字段中具有值 1。
{
List<Inventory_Connector> LC = new List<Inventory_Connector>();
string ConString = "data source=DELL\\SQLSERVER1;Initial Catalog=Camo;Integrated Security=True";
SqlConnection con = new SqlConnection(ConString);
SqlCommand cmd = new SqlCommand("Select Top 17 * from Inventory_Connector", con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
c.ActualWeight = float.Parse(dr[0].ToString().Trim());
}
LC.Add(c);
}
dr.Close();
con.Close();
return LC;
Run Code Online (Sandbox Code Playgroud) 我正在将SQL数据导出到Excel.我目前使用的代码是:
DataTable dt = new DataTable();
// Create sql connection string
string conString = "Data Source=DELL\\SQLSERVER1;Trusted_Connection=True;DATABASE=Zelen;CONNECTION RESET=FALSE";
SqlConnection sqlCon = new SqlConnection(conString);
sqlCon.Open();
SqlDataAdapter da = new SqlDataAdapter("select LocalSKU,ItemName, QOH,Price,Discontinued,CAST(Barcode As varchar(25)) As Barcode,Integer2,Integer3,ISNULL(SalePrice,0.0000)AS SalePrice,SaleOn,ISNULL(Price2,0.0000)AS Price2 from dbo.Inventory", sqlCon);
System.Data.DataTable dtMainSQLData = new System.Data.DataTable();
da.Fill(dtMainSQLData);
DataColumnCollection dcCollection = dtMainSQLData.Columns;
// Export Data into EXCEL Sheet
Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
ExcelApp.Application.Workbooks.Add(Type.Missing);
int i = 1;
int j = 1;
int s = 1;
//header row
foreach (DataColumn col in dtMainSQLData.Columns) …Run Code Online (Sandbox Code Playgroud)