我有這樣的代碼:OleDBCommand.ExecuteReader()錯誤訪問2007
private void GenerarTicket(int prmFOLIO)
{
try
{
string Ticket = "Nombre de la tienda: UAMCAV\n" +
"RFC:XXXXXX\n" +
"------------------------------\n" +
"ARTICULO CANT PRECIO TOTAL\n" +
"------------------------------\n";
string varSQL = "SELECT Detalle_Ventas.folio, Detalle_Ventas.id_articulo, Detalle_Ventas.cantidad, Detalle_Ventas.p_unitario, Detalle_Ventas.iva*Detalle_Ventas.p_unitario AS iva, Detalle_Ventas.cantidad*Detalle_Ventas.p_unitario AS total, articulos.desc_producto, Ventas.user_login, LEFT(Ventas.fecha,10) AS fecha " + " FROM Ventas INNER JOIN (articulos INNER JOIN Detalle_Ventas ON articulos.id_articulo=Detalle_Ventas.id_articulo) ON Ventas.folio=Detalle_Ventas.folio WHERE Ventas.folio=" + prmFOLIO + "";
string DetalleTicket = "";
double varGranTotal = 0;
OleDbConnection cnnTicket =new OleDbConnection(Clases.clsMain.CnnStr);
cnnTicket.Open();
OleDbCommand cmdTicket =new OleDbCommand(varSQL, cnnTicket);
OleDbDataReader drTicket;
**drTicket = cmdTicket.ExecuteReader();**
while (drTicket.Read())
{
DetalleTicket +=
drTicket["desc_producto"].ToString() + " " +
drTicket["cantidad"].ToString() + " " +
String.Format("{0:C}",
drTicket["p_unitario"]) + " " +
String.Format("{0:C}",
drTicket["total"]) + "\n";
varGranTotal += (double)drTicket["total"];
}
DetalleTicket +=
"------------------------------\n" +
"TOTAL: " + String.Format("{0:C}",
varGranTotal);
Ticket += DetalleTicket;
mPrintDocument _mPrintDocument = new mPrintDocument(Ticket);
_mPrintDocument.PrintPreview();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我修改了大膽的部分很多次,因爲總是有一個拋除怪我,像別名循環引用「desc_producto 「,我使用由我創建的.dll生成購物券,但無法解決此異常問題!你可以幫我嗎?順便說一下,這是數據庫中項目的名稱。
「別名desc_producto中的循環引用」通常意味着您只需選擇與字段名稱不同的字段別名。如果您將'desc_producto'更改爲'desc_producto2'和'drTicket [「desc_producto」]'drTicket [「desc_producto2」]',那麼這會解決您的問題嗎? – 2015-02-24 04:22:01
沒有工作,它說沒有具體的價值觀一些建立參數! – SdwAlchmist 2015-02-24 04:30:38
好的!我做到了,但是,這段代碼假設打印一張票,但預覽中沒有顯示這些項目!你有想法嗎?我要修改代碼! – SdwAlchmist 2015-02-24 08:35:27