这代码什么地方错了?
老是提示我“名为ZhangDie"的列已属此datatable??
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Data;
using System.Data.OleDb;
using System.Net;
using System.Timers;
namespace price
{
class Program
{
static string path = @"C:\";
static string kzm = ".txt";
static DataSet ds = new DataSet();
static DataSet oldDs = new DataSet();
static OleDbConnection odc = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\qh(1);Extended Properties=dBASE IV;");
static OleDbDataAdapter oda = new OleDbDataAdapter();
static double dnew;
static double dold;
static void Main(string[] args)
{
oda.SelectCommand = new OleDbCommand();
oda.SelectCommand.Connection = odc;
for (int i = 0; i < 2; ++i)
{
fillData();
makeFile();
}
}
static void makeFile()
{
if (oldDs.Tables.Count == ds.Tables.Count)
{
StringBuilder html = new StringBuilder();
for (int i = 0; i < ds.Tables.Count; ++i)
{
html.Append("<table width='98%' border='0' cellspacing='3' cellpadding='0'>");
for (int j = 0; j < ds.Tables[i].Rows.Count; ++j)
{
DataRow olddr = oldDs.Tables[i].Rows[j];
DataRow newdr = ds.Tables[i].Rows[j];
html.Append("<tr><td height='16' align='center' bgcolor='#FFFFFF' style='border-right:#d3d3d3 1px solid;border-bottom:#d3d3d3 1px solid'>");
html.Append(newdr["name"]);
html.Append("</td><td height='16' bgcolor='#FFFFFF' style='border-right:#d3d3d3 1px solid;border-bottom:#d3d3d3 1px solid'>");
dnew = Convert.ToDouble(newdr["new"]);
dold = Convert.ToDouble(olddr["new"]);
if (dnew > dold)
{
html.Append("<font color='#Ff0000'>");
html.Append(dnew);
html.Append("</font>");
}
else if (dnew < dold)
{
html.Append("<font color='#008040'>");
html.Append(dnew);
html.Append("</font>");
}
else
html.Append(dnew);
html.Append("</td><td height='16' align='center' bgcolor='#FFFFFF' style='border-right:#d3d3d3 1px solid;border-bottom:#d3d3d3 1px solid'>");
dnew = Convert.ToDouble(newdr["ZhangDie"]);
dold = Convert.ToDouble(olddr["ZhangDie"]);
if (dnew > dold)
html.Append(" ");
else if (dnew < dold)
html.Append("");
else
html.Append(dold);
html.Append("</td></tr>");
}
html.Append("</table>");
StreamWriter sw = new StreamWriter(path + ds.Tables[i].TableName + kzm, false, Encoding.UTF8);
sw.Write(html);
sw.Close();
}
}
oldDs = ds;
}
static void fillData()
{
string strsql = "select * from [all] where Jys_code in({0});";
StringBuilder sql = new StringBuilder();
oda.SelectCommand.CommandText = string.Format(strsql, "'AU','AG','PT','PA','AU9995','PT9995'");
oda.Fill(ds, "lme");
oda.SelectCommand.CommandText = string.Format(strsql, "'LCPT','LALT','LLDT','LZNT','LTNT','LNKT'");
oda.Fill(ds, "qh");
foreach (DataTable dt in ds.Tables)
{
yunSuan(dt);
}
}
static void yunSuan(DataTable dt)
{
dt.Columns.Add("ZhangDie");
const int bs = 10;
int Dec = 0;
double zd = 0;
foreach (DataRow dr in dt.Rows)
{
if (dr["Dec"] != System.DBNull.Value)
{
Dec = Convert.ToInt32(dr["Dec"]);
}
if (Dec == 0)
{
if (dr["New"] != System.DBNull.Value && dr["Close"] != System.DBNull.Value)
{
zd = (Convert.ToDouble(dr["New"]) - Convert.ToDouble(dr["Close"]));
}
}
else
{
if (dr["Dec"] != System.DBNull.Value)
{
for (int i = 0; i < Convert.ToInt32(dr["Dec"]); ++i)
{
if (dr["New"] != System.DBNull.Value)
{
dr["New"] = Convert.ToDouble(dr["New"]) / bs;
}
if (dr["Open"] != System.DBNull.Value)
{
dr["Open"] = Convert.ToDouble(dr["Open"]) / bs;
}
if (dr["Close"] != System.DBNull.Value)
{
dr["Close"] = Convert.ToDouble(dr["Close"]) / bs;
}
if (dr["New"] != System.DBNull.Value && dr["Close"] != System.DBNull.Value)
{
zd = (Convert.ToDouble(dr["New"]) - Convert.ToDouble(dr["Close"]));
}
}
}
}
}
}
}
}