这代码什么地方错了?

lasker 2006-09-20 03:09:31
老是提示我“名为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"]));
}
}
}
}
}
}
}
}
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lasker 2006-09-20
  • 打赏
  • 举报
回复
这是做试验用的 不加的话就没错了 我是在模拟 其实这个程序就一直在运行这个for 将for设置成2 只是为了模拟一下 实际上是while(true);
zwkandy 2006-09-20
  • 打赏
  • 举报
回复
那个 for (int i = 0; i < 2; ++i)是什么意思啊。加这个的作用是什么啊
lasker 2006-09-20
  • 打赏
  • 举报
回复
应该是自动关的吧? 那个和关没关应该没关系!!
邦迪代驾 2006-09-20
  • 打赏
  • 举报
回复
学习中
myminimouse 2006-09-20
  • 打赏
  • 举报
回复
自己调一下吧,太长了~
john_jia 2006-09-20
  • 打赏
  • 举报
回复
好长.
OleDbConnection odc 使用完了要close

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧