我想用当前日期作为查询条件,来计算每天的营业总金额
累加每种物品的单价*数量
用一textBox显示查询结果,正确的写法应该怎么写?请求高人指点另外,这样的错误:"从字符串转换为 datetime 时发生语法错误。"
应该如何改呢?

解决方案 »

  1.   

    楼主的提问真是让人费解,没有任何字段
    select count(单价*数量) as 销售额
    from table
    group by 日期
    where 日期 = 今天 
      

  2.   

    select sum(sl*dj) from table 
    转换的方法为 convert(datetime,"20060423")
      

  3.   

    select count(单价*数量) as 销售额
    from table
    where 日期 = 今天 
    group by 日期
      

  4.   

    select sum(price*sum) from tablename where Convert(varchar(10),gedate,121)=Convert(varchar(10),getdate(),121)
      

  5.   

    楼主可能直接拿日期型字段与字符串型值进行比较了,楼上的SQL得稍微改一下
    select count(单价*数量) as 销售额
    from table
    group by 日期
    where to_char(日期, 'yyyymmdd') = 今天 --今天的格式是yyyyMMdd
      

  6.   

    where to_char(日期, 'yyyymmdd') = 今天 --今天的格式是yyyyMMdd
    呵呵,你知道楼主是用oracle,要是sqlserver呢?
    这样的提问,坦白说,真是太菜了
      

  7.   

    你不贴你的sql语句 大家如何知道你错在哪里
      

  8.   

    我想用当前日期作为查询条件,来计算每天的营业总金额
    累加每种物品的单价*数量sql= "select Sum(单价*数量) from [] where datediff(dd,getdate(),时间) = 0"
      

  9.   

    谢谢楼上各位
    我用的是SQLServer数据库
    存在数据库中的日期值是'yyyy-m-d'的格式
    我想把最后的结果放到一个textbox里,应该怎么做?另外报错的语句是这样写的:
    private void button1_Click(object sender, System.EventArgs e)
    {
    string connstr="server=localhost;Integrated Security=SSPI;database=bookstore";
    SqlConnection conn=new SqlConnection(connstr);
    SqlCommand mySqlCommand = conn.CreateCommand();
                mySqlCommand.CommandText = "  SELECT 图书信息.图书编号,图书名称,销售价格,销售数量 FROM 销售信息,图书信息  WHERE 销售日期 = 'this.textBox1.Text' ";
                
                    conn.Open();
                    SqlDataReader reader = mySqlCommand.ExecuteReader();
                    ListView lv = new ListView();
                    while (reader.Read())
                    {
                        ListViewItem li = new ListViewItem();
                        li.SubItems.Clear();
                        li.SubItems[0].Text = reader["图书信息.图书编号"].ToString();
                        li.SubItems.Add(reader["图书名称"].ToString());
                        li.SubItems.Add(reader["销售价格"].ToString());
                        li.SubItems.Add(reader["销售数量"].ToString());
                        lv.Items.Add(li);
                    }
                    reader.Close(); // 关闭数据集 
                    // 在Form中添加此列表 
                    this.Controls.Add(lv);
                    // 关闭Form的时候,同时也关闭数据连接 
                    conn.Close();
                    
    } private void DayFrm_Load(object sender, System.EventArgs e)
    {
                textBox1.Text = DateTime.Now.ToShortDateString();
    }
      

  10.   

    mySqlCommand.CommandText = "  SELECT 图书信息.图书编号,图书名称,销售价格,销售数量 FROM 销售信息,图书信息  WHERE 销售日期 = 'this.textBox1.Text' ";
    修改为:
    "  SELECT 图书信息.图书编号,图书名称,销售价格,销售数量 FROM 销售信息,图书信息  WHERE 销售日期 = '"
     + this.textBox1.Text + "'";            
                    conn.Open();
                    SqlDataReader reader = mySqlCommand.ExecuteReader();
    //增加统计
    Decimal dSum =0;
                    ListView lv = new ListView();
                    while (reader.Read())
                    {
                        ListViewItem li = new ListViewItem();
                        li.SubItems.Clear();
                        li.SubItems[0].Text = reader["图书信息.图书编号"].ToString();
                        li.SubItems.Add(reader["图书名称"].ToString());
                        li.SubItems.Add(reader["销售价格"].ToString());
                        li.SubItems.Add(reader["销售数量"].ToString());
    dSum+= ConvertToDecimal(reader["销售价格"]) *ConvertToDecimal(reader["销售数量"]) ;
                        lv.Items.Add(li);
                    }
                    reader.Close(); // 关闭数据集 
      

  11.   

    按照netpot(netpot) 的方法改了,然后出现以下错误当前上下文中不存在名称“ConvertToDecimal”
      

  12.   

    呵呵,是我疏忽,没写成Convert.ToDecimal
    不过其实这个最好加上try,万一数据库里面是null值,那么就会出异常的
    ps点击管理,就可以给分了 :)