本帖最后由 rebeccaxia 于 2009-09-04 09:57:39 编辑

解决方案 »

  1.   

    我一般会这样写
    public static BLL_product get(int id)
    {
        using (SqlConnection conn = Conn.GetConnection())
        {
            BLL_product p = new BLL_product();
            SqlCommand cmd = new SqlCommand("select Name,Sell,Unit from product, conn);
            SqlDataReader dr = cmd.ExecuteReader();
            if(dr.Read())
            {
                p.Name= dr[0].ToString();
                p.Sell= dr[1].ToString();
                p.Unit = dr[2].ToString();
            }
            return p;
        }
    }
      

  2.   

    "select Name,Sell,Unit from product, conn);
    少了双引号 "select Name,Sell,Unit from product", conn);
      

  3.   


    我现在自己也搞糊涂了。就是我做了个网上购物的“搜索”功能。貌似里面缺了个直接引用数据库,还是什么的。大家帮我看一下问题到底在哪里?using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;public partial class Desktop_Search : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    if(!Page.IsPostBack)
    {
    if(Request.QueryString["Keyword"] != null)
    {
    Keyword.Text = Server.HtmlDecode(Request.QueryString["Keyword"].ToString());
    }
    }
        } protected void CommitBtn_Click(object sender,EventArgs e)
    {
    ///获取搜索结
            Product product = new Product(); 
            DataSet ds = new DataSet("Product");
    ds.Tables.Add(product.SearchProduct(Keyword.Text)); ///绑定控件的数据,显示搜索结果
    ProductView.DataSource = ds;
    ProductView.DataBind(); ///显示提示信息
    ProductView.Visible = ProductView.Rows.Count <= 0 ? false : true;
    }
    }
      

  4.   

    用microsoft 控件吧,三个dll
    Microsoft.Practices.EnterpriseLibrary.Common.dll
    Microsoft.Practices.EnterpriseLibrary.Data.dll
    Microsoft.Practices.ObjectBuilder.dll
    下好在bin里添加这三个引用web.config 里
    <configuration>
    <connectionStrings>
    <add name="dbname" connectionString="Data Source=服务器名字;user id=*;password=*;initial catalog=xiaxia;" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    </configuration>在cs里 
    using System.Data.SqlClient;
    using Microsoft.Practices.EnterpriseLibrary.Data;private Database db = DatabaseFactory.CreateDatabase("dbname");
    string sql= "select Name,Sell,Unit from product";
    DataSet ds= db.ExecuteDataSet(CommandType.text,sql);dataset出来了什么都解决了
    用的时候比如这样:
    string name = ds.tables[0].rows[0]["Name"].tostring();
      

  5.   

    using System.Data.SqlClient;
    using System.Data;using (SqlConnection connection = new SqlConnection("server=changda;User ID=sa;Password=sa;database=test;  Connection Reset=FALSE"))
                    {
                        string sql = "select Name,Sell,Unit from product"; 
                        SqlDataAdapter sqlData = new SqlDataAdapter(sql , connection);
                        DataTable dt = new DataTable();
                        sqlData.Fill(dt);
                    }这样呢?
      

  6.   

    晕,,,觉得 应该要符合下重用性吧
    、写个好点的  DBhelper  
    调用
      

  7.   

    支持楼上的,写个DBhelper  吧,封装一些常用的访问数据库方法,你这个写不累吗
      

  8.   


    同意,我现在就用microsoft enterprise database 控件 连dbhelper都不用写,microsoft差不多都写全了,现在dm要求同意用它,这个控件用下来感觉代码少很多啊。
    建议初学的时候老老实实的写连接语句,否则里面发生了什么事都不知道,写多了可以写个类,或者直接用别人的控件。