ODBC 和 OLEDB 2种连接我都试过了,都会出现格式错误,但是SQL语句用DbTour试过的,可以正常查出来数据。
请高手帮我看下是怎么回事~
贴出代码:private void Handle(DateTime date)
{
//SQLCreator sqlcreator=new SQLCreator();
OLEDBSQLCreator sqlcreator = new OLEDBSQLCreator();
string datestr = date.Month.ToString() + @"/" + date.Day.ToString() + @"/" + date.Year.ToString();
string sqlstr = @"select b." + "\"Date\"" + ",b." + "\"Time\"" + ",b.OrderNo,b.Price,a.CAmount,a.VAmount,a.AAmount,a.MAmount,a.QAmount,a.IAmount,a.DAmount,a.UAmount,a.YAmount,a.OAmount from paybkup.DB a left join ordbkup.DB b on a.OrderNo=b.OrderNo left join itembkup.DB c on a.OrderNo =c.OrderNo where b." + "\"Date\"" + "='" + datestr + "'" + " and c.MenuNo not in ('013001','013002','013003') and b.Price!=0";
StringBuilder sb = new StringBuilder();
using (IDataReader dr =sqlcreator.ExcuteDataReader(sqlstr,configurator.DataBasePath,CommandType.Text))
{
while (dr.Read())
{
sb.Append(configurator.StoreCode+"\r");
sb.Append(configurator.TillID + "\r");
sb.Append(dr[0].ToString() + "\r");
sb.Append(dr[1].ToString() + "\r");
sb.Append("S" + dr[2].ToString().Substring(3) + "\r");
sb.Append(configurator.Plu + "\r");
sb.Append("\r");
sb.Append(dr[4].ToString() + "\r");
sb.Append(dr[5].ToString() + "\r");
sb.Append("0" + "\r");
sb.Append((int.Parse(dr[6].ToString()) + int.Parse(dr[7].ToString()) + int.Parse(dr[8].ToString()) + int.Parse(dr[9].ToString()) + int.Parse(dr[10].ToString()) + int.Parse(dr[11].ToString()) + int.Parse(dr[12].ToString()) + int.Parse(dr[13].ToString())).ToString() + "\r");
sb.Append("0" + "\r");
sb.Append(dr[3].ToString()+System.Environment.NewLine);
}
请高手帮我看下是怎么回事~
贴出代码:private void Handle(DateTime date)
{
//SQLCreator sqlcreator=new SQLCreator();
OLEDBSQLCreator sqlcreator = new OLEDBSQLCreator();
string datestr = date.Month.ToString() + @"/" + date.Day.ToString() + @"/" + date.Year.ToString();
string sqlstr = @"select b." + "\"Date\"" + ",b." + "\"Time\"" + ",b.OrderNo,b.Price,a.CAmount,a.VAmount,a.AAmount,a.MAmount,a.QAmount,a.IAmount,a.DAmount,a.UAmount,a.YAmount,a.OAmount from paybkup.DB a left join ordbkup.DB b on a.OrderNo=b.OrderNo left join itembkup.DB c on a.OrderNo =c.OrderNo where b." + "\"Date\"" + "='" + datestr + "'" + " and c.MenuNo not in ('013001','013002','013003') and b.Price!=0";
StringBuilder sb = new StringBuilder();
using (IDataReader dr =sqlcreator.ExcuteDataReader(sqlstr,configurator.DataBasePath,CommandType.Text))
{
while (dr.Read())
{
sb.Append(configurator.StoreCode+"\r");
sb.Append(configurator.TillID + "\r");
sb.Append(dr[0].ToString() + "\r");
sb.Append(dr[1].ToString() + "\r");
sb.Append("S" + dr[2].ToString().Substring(3) + "\r");
sb.Append(configurator.Plu + "\r");
sb.Append("\r");
sb.Append(dr[4].ToString() + "\r");
sb.Append(dr[5].ToString() + "\r");
sb.Append("0" + "\r");
sb.Append((int.Parse(dr[6].ToString()) + int.Parse(dr[7].ToString()) + int.Parse(dr[8].ToString()) + int.Parse(dr[9].ToString()) + int.Parse(dr[10].ToString()) + int.Parse(dr[11].ToString()) + int.Parse(dr[12].ToString()) + int.Parse(dr[13].ToString())).ToString() + "\r");
sb.Append("0" + "\r");
sb.Append(dr[3].ToString()+System.Environment.NewLine);
}
解决方案 »
- 求助,请看代码段,按钮连续点击3次就WCF通信错误,为何?
- 用devexpress控件通过C#编程绘制饼状图
- 求思路:c# win 应用程序如何测试远程文件的链接速度?
- C# checklistBox菜鸟提问...
- Dll组建引用问题,急~~
- c# 控制Excel 复制Sheet 我已经指定sheet 为什么结果是Excel中所有的Sheet都有副本?
- 想用进程操作数据库,怎么做?
- 高分求winform源代码,主要是关于数据库的操作(不够再加)
- 各为大虾帮帮忙啊,看看这个奇怪不?
- 求助:在新建项目时不能创建对象,出现"Automation服务器不能创建对象"对话框,咋办?
- 小菜鸟弱弱的问一句怎么在Microsoft Visual Studio 2010的form中的属性写事件啊?
- 熟悉c#网络通信的请看,c/s模式,限制客户端用户数
{
conn.Open();
using (System.Data.Odbc.OdbcCommand command = conn.CreateCommand())
{
command.CommandText = " update test set aa=14 " ;
command.ExecuteNonQuery();command.CommandText = " select * from test " ;
Console.WriteLine(command.ExecuteScalar());
}
加入Conditions之后就报错了,这个SQL查询字符我直接拷贝到 DBTour中就可以直接执行的。
private bool CreateConnection(string DataBasePath)
{
bool Flags=false;
string connStr = @"Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir="+DataBasePath+";Dbq="+DataBasePath+";CollatingSequence=ASCII;PWD=;";
//string connStr = @"Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir="+DataBasePath+";Dbq="+DataBasePath+";CollatingSequence=ASCII;PWD=;";
//string connStr = @"Provider=MSDASQL;Persist Security Info=False;Mode=Read;Extended Properties='DSN=Paradox;DBQ=C:\myDb;DefaultDir="+DataBasePath+";DriverId=538;FIL=Paradox 7.X;MaxBufferSize=2048;PageTimeout=600;';Initial Catalog="+DataBasePath+";";
conn.ConnectionString = connStr;
try
{
conn.Open();
Flags = true;
}
catch (Exception ex)
{
throw ex;
}
return Flags;
}
/
这是现在用的连接方式,是不是驱动不支持该SQL查询啊。