CESTA PARA CARRINHO
Ola Pessoal se alguem puder me ajudar ficaria muito grato
Bom vamos a Cituação tenho uma cesta para inclusao de produtos segue codigo
private void incluirNaCesta(Int32 quantidade)
{
string sql = [Ô]select * from dev_prod where DEV_PROD_id= [Ô] + Request.QueryString[[Ô]ID[Ô]].ToString();
using (SqlConnection con = dados.connection())
{
try
{
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader dr = default(SqlDataReader);
dr = cmd.ExecuteReader();
dr.Read();
DataTable dt = obterDataSetCesta().Tables[0];
DataRow row = dt.Rows.Find(Request.QueryString[[Ô]ID[Ô]]);
if(row == null)
{
row = dt.NewRow();
row[[Ô]itemID[Ô]] = Request.QueryString[[Ô]ID[Ô]];
row[[Ô]Produto[Ô]] = dr[[Ô]DEV_PROD_DESCRI[Ô]];
row[[Ô]Quantidade[Ô]] = quantidade;
row[[Ô]preco[Ô]] = dr[[Ô]DEV_PROD_UNITAR[Ô]];
row[[Ô]Mensaguem[Ô]] = [Ô][Ô];
//[ô]inclui a linha no datable
dt.Rows.Add(row);
}
}
catch (Exception f)
{
}
finally
{
con.Close();
}
}
}
tabem tem esta parter
public DataSet obterDataSetCesta()
{
DataSet ds = new DataSet();
DataColumn[] keys = new DataColumn[1];
if (Session[[Ô]cesta[Ô]] == null)
{
DataColumn itemID = new DataColumn([Ô]itemID[Ô], typeof(Int32));
DataTable dt = new DataTable([Ô]cesta[Ô]);
dt.Columns.Add(itemID);
dt.Columns.Add([Ô]Produto[Ô], System.Type.GetType([Ô]System.String[Ô]), [Ô][Ô]);
dt.Columns.Add([Ô]Quantidade[Ô], System.Type.GetType([Ô]System.Int32[Ô]), [Ô][Ô]);
dt.Columns.Add([Ô]Preco[Ô], System.Type.GetType([Ô]System.Double[Ô]), [Ô][Ô]);
dt.Columns.Add([Ô]SubTotal[Ô], System.Type.GetType([Ô]System.Double[Ô]), [Ô]preco * quantidade[Ô]);
dt.Columns.Add([Ô]total[Ô], System.Type.GetType([Ô]System.Double[Ô]), [Ô]SUM(subtotal)[Ô]);
dt.Columns.Add([Ô]Mensaguem[Ô], System.Type.GetType([Ô]System.String[Ô]), [Ô][Ô]);
keys[0] = itemID;
dt.PrimaryKey = keys;
ds.Tables.Add(dt);
Session[[Ô]cesta[Ô]] = ds;
return ds;
}
else
{
return (DataSet)Session[[Ô]cesta[Ô]];
}
}
bom vamos la estou tentando recuperar a Session[[Ô]cesta[Ô]] para poder incluir no banco de dados porem esta dando erro
segue codigo
private void atualizaPedidos()
{
if (Session[[Ô]cesta[Ô]] == null)
{
Response.Redirect([Ô]Default.aspx[Ô]);
}
if (Session[[Ô]idcliente[Ô]] == null)
{
Response.Redirect([Ô]login.aspx[Ô]);
}
Int16 codigoPedido = 0;
DateTime data = DateTime.Now;
//decimal total = obterDataSetCesta.Tables(0).Rows(0)([Ô]Total[Ô]);
DataSet ds = new DataSet();
ds = (DataSet)Session[[Ô]cesta[Ô]];
DataTable dt = ds.Tables[0];
foreach (DataRow row in obterDataSetCesta().Tables(0).Rows)
{
// which
// //define a stored procedure que vai ser executada
// cmd = new OleDbCommand([Ô]sp_IncluiItensPedido[Ô], con);
// cmd.CommandType = CommandType.StoredProcedure;
// //define os parametros do procedimento armazenado
// OleDbParameter parmPedidoID = new OleDbParameter();
// OleDbParameter parmProdutoID = new OleDbParameter();
// OleDbParameter parmValorItem = new OleDbParameter();
// OleDbParameter parmQuantidade = new OleDbParameter();
// //define o tipo e atribui o valor para cada parâmetro
// var _with1 = parmPedidoID;
// _with1.ParameterName = [Ô]pedidoID[Ô];
// _with1.OleDbType = OleDbType.Integer;
// _with1.Value = codigoPedido;
// cmd.Parameters.Add(parmPedidoID);
// var _with2 = parmProdutoID;
// _with2.ParameterName = [Ô]produtoID[Ô];
// _with2.OleDbType = OleDbType.Integer;
// _with2.Value = row([Ô]itemID[Ô]);
// cmd.Parameters.Add(parmProdutoID);
// var _with3 = parmValorItem;
// _with3.ParameterName = [Ô]Valor[Ô];
// _with3.OleDbType = OleDbType.Decimal;
// _with3.Value = row([Ô]preco[Ô]);
// cmd.Parameters.Add(parmValorItem);
// var _with4 = parmQuantidade;
// _with4.ParameterName = [Ô]Quantidade[Ô];
// _with4.OleDbType = OleDbType.Integer;
// _with4.Value = row([Ô]quantidade[Ô]);
// cmd.Parameters.Add(parmQuantidade);
// //executa a stored procedure e inclui o itens do pedido
// cmd.ExecuteNonQuery();
}
}
porem o erro esta dando no metodo atualizaPedidos
Error 2 Non-invocable member [ô]System.Data.DataSet.Tables[ô] cannot be used like a method. E:\Projeto\Sites\Martfer\SiteMartfer\SiteMartfer\Cesta.aspx.cs 149 57 SiteMartfer
este é o errro se alguem tiver uma ideia de como posso recuperar esta sessao mais facil estou aberto a sugestao
Obrigado
joao
Bom vamos a Cituação tenho uma cesta para inclusao de produtos segue codigo
private void incluirNaCesta(Int32 quantidade)
{
string sql = [Ô]select * from dev_prod where DEV_PROD_id= [Ô] + Request.QueryString[[Ô]ID[Ô]].ToString();
using (SqlConnection con = dados.connection())
{
try
{
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader dr = default(SqlDataReader);
dr = cmd.ExecuteReader();
dr.Read();
DataTable dt = obterDataSetCesta().Tables[0];
DataRow row = dt.Rows.Find(Request.QueryString[[Ô]ID[Ô]]);
if(row == null)
{
row = dt.NewRow();
row[[Ô]itemID[Ô]] = Request.QueryString[[Ô]ID[Ô]];
row[[Ô]Produto[Ô]] = dr[[Ô]DEV_PROD_DESCRI[Ô]];
row[[Ô]Quantidade[Ô]] = quantidade;
row[[Ô]preco[Ô]] = dr[[Ô]DEV_PROD_UNITAR[Ô]];
row[[Ô]Mensaguem[Ô]] = [Ô][Ô];
//[ô]inclui a linha no datable
dt.Rows.Add(row);
}
}
catch (Exception f)
{
}
finally
{
con.Close();
}
}
}
tabem tem esta parter
public DataSet obterDataSetCesta()
{
DataSet ds = new DataSet();
DataColumn[] keys = new DataColumn[1];
if (Session[[Ô]cesta[Ô]] == null)
{
DataColumn itemID = new DataColumn([Ô]itemID[Ô], typeof(Int32));
DataTable dt = new DataTable([Ô]cesta[Ô]);
dt.Columns.Add(itemID);
dt.Columns.Add([Ô]Produto[Ô], System.Type.GetType([Ô]System.String[Ô]), [Ô][Ô]);
dt.Columns.Add([Ô]Quantidade[Ô], System.Type.GetType([Ô]System.Int32[Ô]), [Ô][Ô]);
dt.Columns.Add([Ô]Preco[Ô], System.Type.GetType([Ô]System.Double[Ô]), [Ô][Ô]);
dt.Columns.Add([Ô]SubTotal[Ô], System.Type.GetType([Ô]System.Double[Ô]), [Ô]preco * quantidade[Ô]);
dt.Columns.Add([Ô]total[Ô], System.Type.GetType([Ô]System.Double[Ô]), [Ô]SUM(subtotal)[Ô]);
dt.Columns.Add([Ô]Mensaguem[Ô], System.Type.GetType([Ô]System.String[Ô]), [Ô][Ô]);
keys[0] = itemID;
dt.PrimaryKey = keys;
ds.Tables.Add(dt);
Session[[Ô]cesta[Ô]] = ds;
return ds;
}
else
{
return (DataSet)Session[[Ô]cesta[Ô]];
}
}
bom vamos la estou tentando recuperar a Session[[Ô]cesta[Ô]] para poder incluir no banco de dados porem esta dando erro
segue codigo
private void atualizaPedidos()
{
if (Session[[Ô]cesta[Ô]] == null)
{
Response.Redirect([Ô]Default.aspx[Ô]);
}
if (Session[[Ô]idcliente[Ô]] == null)
{
Response.Redirect([Ô]login.aspx[Ô]);
}
Int16 codigoPedido = 0;
DateTime data = DateTime.Now;
//decimal total = obterDataSetCesta.Tables(0).Rows(0)([Ô]Total[Ô]);
DataSet ds = new DataSet();
ds = (DataSet)Session[[Ô]cesta[Ô]];
DataTable dt = ds.Tables[0];
foreach (DataRow row in obterDataSetCesta().Tables(0).Rows)
{
// which
// //define a stored procedure que vai ser executada
// cmd = new OleDbCommand([Ô]sp_IncluiItensPedido[Ô], con);
// cmd.CommandType = CommandType.StoredProcedure;
// //define os parametros do procedimento armazenado
// OleDbParameter parmPedidoID = new OleDbParameter();
// OleDbParameter parmProdutoID = new OleDbParameter();
// OleDbParameter parmValorItem = new OleDbParameter();
// OleDbParameter parmQuantidade = new OleDbParameter();
// //define o tipo e atribui o valor para cada parâmetro
// var _with1 = parmPedidoID;
// _with1.ParameterName = [Ô]pedidoID[Ô];
// _with1.OleDbType = OleDbType.Integer;
// _with1.Value = codigoPedido;
// cmd.Parameters.Add(parmPedidoID);
// var _with2 = parmProdutoID;
// _with2.ParameterName = [Ô]produtoID[Ô];
// _with2.OleDbType = OleDbType.Integer;
// _with2.Value = row([Ô]itemID[Ô]);
// cmd.Parameters.Add(parmProdutoID);
// var _with3 = parmValorItem;
// _with3.ParameterName = [Ô]Valor[Ô];
// _with3.OleDbType = OleDbType.Decimal;
// _with3.Value = row([Ô]preco[Ô]);
// cmd.Parameters.Add(parmValorItem);
// var _with4 = parmQuantidade;
// _with4.ParameterName = [Ô]Quantidade[Ô];
// _with4.OleDbType = OleDbType.Integer;
// _with4.Value = row([Ô]quantidade[Ô]);
// cmd.Parameters.Add(parmQuantidade);
// //executa a stored procedure e inclui o itens do pedido
// cmd.ExecuteNonQuery();
}
}
porem o erro esta dando no metodo atualizaPedidos
Error 2 Non-invocable member [ô]System.Data.DataSet.Tables[ô] cannot be used like a method. E:\Projeto\Sites\Martfer\SiteMartfer\SiteMartfer\Cesta.aspx.cs 149 57 SiteMartfer
este é o errro se alguem tiver uma ideia de como posso recuperar esta sessao mais facil estou aberto a sugestao
Obrigado
joao
Acho que você deveria usar colchetes ao invés de parêntesis na linha abaixo do metodo atualizaPedidos():
//decimal total = obterDataSetCesta.Tables[0].Rows[0][[Ô]Total[Ô]];
//decimal total = obterDataSetCesta.Tables[0].Rows[0][[Ô]Total[Ô]];
Tópico encerrado , respostas não são mais permitidas