十分初学,临时急用,用vs2005
问题:1、sqlconnection,sqldataadapter是可视化控件么?我在data面板里怎么找不到呢?
      2、我要用datagridview,要怎么和数据库连接呢?(用代码直接写的方式  或者  是可视化控件的连接方式)
      3、我以前用过delphi,谁能帮我解释一下delphi里的adoconnection,adoquery,datasource和c#里的什么可视化控件都  分别  相当。以上问题请大虾以教一个very初学的想法来讲,十分十分感谢!!!

解决方案 »

  1.   

    不知道和vs2003一样不
    2003:在data面板 里面 右键 添加/移出项里找到 选中 确定
    就可以了
    其他问题,我也不知道,dephi不会
      

  2.   

    如果没有可视化控件,也可以添加进去
    或者自己直接定义一个一样的
    system.data.sqlclient.sqlconnection cn = new system.data.sqlclient.sqlconnection();
      

  3.   

    ///数据库操作类.自己看下吧.很简单的.using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    namespace Db
    {
    /// <summary>
    /// DbExec 的摘要说明。
    /// </summary>
    public class DbExec
    {
    private string strConn="";
    private string connSet="conn";
    private SqlConnection conn;
    public DbExec()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    public DbExec(string connSet)
    {
    this.connSet=connSet;
    }

    /*
     *打开数据库连接 
     */ 
    private bool open()
    {
    bool bl=true;
    try
    {
    strConn=connSet;
    conn=new SqlConnection(strConn);
    conn.Open();
    }
    catch(Exception ex)
    {
    Log.log(ex);
    bl=false;
    }
    return bl; }
    /// <summary>
    /// 关闭数据库连接
    /// </summary>
    /// <returns></returns>
    private bool closeConn()
    {
    try
    {
    if(conn.State.ToString()=="Open")
    conn.Close();
    conn.Dispose();
    return true;//关闭成功,返回true
    }
    catch(Exception ex)
    {
    Log.log(ex); 
    return false;//关闭失败,返回false
    }
    }
    /// <summary>
    /// 
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <returns></returns>
    public SqlDataReader execreader(string strsql)
    {
    SqlDataReader sdr = null;
    if(open())
    {
    try
    {
    SqlCommand cmd = new SqlCommand(strsql,conn);
    sdr = cmd.ExecuteReader();
    }
    catch(Exception ex)
    {
    Log.log(ex);
    }
    }
    return sdr;
        }
    /// <summary>
    /// 执行sql语句没有返回数据集 
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <param name="paramenters">参数</param>
    /// <returns></returns>
    public bool execNonQuery(string sql,params SqlParameter[] paramenters)
    {
    SqlCommand cmd;
    bool bl=true;
    if(open())
    {
    try
    {
    cmd=conn.CreateCommand();
    cmd.CommandText=sql;
    if(paramenters!=null)
    {
    foreach (SqlParameter parm in paramenters)
    cmd.Parameters.Add(parm);
    }
    cmd.ExecuteNonQuery();
    }
    catch(Exception ex)
    {
    Log.log(ex); 
    bl=false;
    }
    finally
    {
    closeConn();
    }
    }
    else
    {
    bl=false;
    }
    return bl;
    }
      

  4.   

    /// <summary>
    /// 执行sql语句,没有参数,没有返回数据集 
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <returns></returns>
    public bool execNonQuery(string sql)
    {
    return this.execNonQuery(sql,null);
    }
    /// <summary>
    /// 执行sql语句,没有返回数据集,提供事务支持 
    /// </summary>
    /// <param name="sql"></param>
    /// <param name="paramenters"></param>
    /// <returns></returns>
    public bool execNonQueryHasTran(string sql,params SqlParameter[] paramenters)
    {
    SqlCommand cmd;
    SqlTransaction tran; bool bl=true;
    if(open())
    {
    tran=conn.BeginTransaction();
    try
    {
    cmd=conn.CreateCommand();
    cmd.CommandText=sql;
    if(paramenters!=null)
    {
    foreach (SqlParameter parm in paramenters)
    cmd.Parameters.Add(parm);
    }
    cmd.Transaction=tran;
    cmd.ExecuteNonQuery();
    tran.Commit();
    }
    catch(Exception ex)
    {
    Log.log(ex); 
    tran.Rollback();
    bl=false;
    }
    finally
    {
    closeConn();
    }
    }
    else
    {
    bl=false;
    }
    return bl;
    }
    /// <summary>
    /// 执行sql语句,没有返回数据集,没有参数,提供事务支持 
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public bool execNonQueryHasTran(string sql)
    {
    return this.execNonQueryHasTran(sql,null);
    }
    /// <summary>
    /// 执行存储过程,没有返回记录集,不支持事务
    /// </summary>
    /// <param name="cmdName"></param>
    /// <param name="paramenters"></param>
    /// <returns></returns>
    public bool execPro(string cmdName,params SqlParameter[] paramenters)
    {
    SqlCommand cmd;
    bool bl=true;
    if(open())
    {
    try
    {
    cmd=conn.CreateCommand();
    cmd.CommandText=cmdName;
    if(paramenters!=null)
    {
    foreach (SqlParameter parm in paramenters)
    cmd.Parameters.Add(parm);
    }
    cmd.CommandType=CommandType.StoredProcedure;
    cmd.ExecuteNonQuery();
    }
    catch(Exception ex)
    {
    Log.log(ex); 
    bl=false;
    }
    finally
    {
    closeConn();
    }
    }
    else
    {
    bl=false;
    }
    return bl;
    }
    /// <summary>
    /// 执行存储过程,没有返回记录集,支持事务
    /// </summary>
    /// <param name="cmdName"></param>
    /// <param name="paramenters"></param>
    /// <returns></returns>
    public bool execProHasTran(string cmdName,params SqlParameter[] paramenters)
    {
    SqlCommand cmd;
    SqlTransaction tran; bool bl=true;
    if(open())
    {
    tran=conn.BeginTransaction();
    try
    {
    cmd=conn.CreateCommand();
    cmd.CommandText=cmdName;
    if(paramenters!=null)
    {
    foreach (SqlParameter parm in paramenters)
    cmd.Parameters.Add(parm);
    }
    cmd.CommandType=CommandType.StoredProcedure;
    cmd.Transaction=tran;
    cmd.ExecuteNonQuery();
    tran.Commit();
    }
    catch(Exception ex)
    {
    tran.Rollback();
    Log.log(ex); 
    bl=false;
    }
    finally
    {
    closeConn();
    }
    }
    else
    {
    bl=false;
    }
    return bl;
    } /// <summary>
    /// 获取记录集,支持参数,支持存储过程
    /// </summary>
    /// <param name="sql">sql语句或存储过程名</param>
    /// <param name="IsPro">是否是存储过程</param>
    /// <param name="paramenters">参数</param>
    /// <returns></returns>
    public DataSet getDataSet(string sql,bool IsPro,params SqlParameter[] paramenters)
    {
    DataSet ds=new DataSet();
    if(open()) { 
    try
    {
    SqlCommand cmd=new SqlCommand();
    cmd.Connection=conn;
    cmd.CommandText=sql;
    if(paramenters!=null)
    {
    foreach (SqlParameter parm in paramenters)
    cmd.Parameters.Add(parm);
    }
    if(IsPro)
    cmd.CommandType=CommandType.StoredProcedure;
    SqlDataAdapter ada=new SqlDataAdapter();
    ada.SelectCommand=cmd;
    ada.Fill(ds);
    }
    catch(Exception ex)
    {
    Log.log(ex); 
    string str=ex.ToString();
    }
    finally
    {
    closeConn();
    }
    }
    return ds;
    }
    /// <summary>
    /// 通过sql语句获得记录集
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public DataSet getDataSet(string sql)
    {
    return this.getDataSet(sql,false,null);
    }
    /// <summary>
    /// 通过sql或存储过程名语句获得记录表,支持参数,支持存储过程
    /// </summary>
    /// <param name="sql">sql或存储过程名</param>
    /// <param name="IsPro">是否是存储过程</param>
    /// <param name="paramenters">sql参数</param>
    /// <returns></returns>
    public DataTable getDataTable(string sql,bool IsPro,params SqlParameter[] paramenters)
    {
    DataSet ds;
    DataTable dt=new DataTable();
    ds=getDataSet(sql,IsPro,paramenters);
    if(ds.Tables.Count>0)
    {
    dt= ds.Tables[0];
    }
    return dt;
    }
    /// <summary>
    ///  通过sql语句获得记录表
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public DataTable getDataTable(string sql)
    {
    return this.getDataTable(sql,false,null);
    }
    /// <summary>
    /// 获得一个值
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public string getOneVal(string sql,params SqlParameter[] paramenters)
    {
    string strval=null;
    if(open())
    {
    try
    {
    System.Data.SqlClient.SqlCommand cmd;

    cmd=new System.Data.SqlClient.SqlCommand(sql,conn);
    if(paramenters!=null)
    {
    foreach (SqlParameter parm in paramenters)
    cmd.Parameters.Add(parm);
    }
    strval=Convert.ToString(cmd.ExecuteScalar());
    cmd.Dispose();
    }
    catch(Exception ex)
    {
    Log.log(ex); 
    }
    finally
    {
    closeConn();
    }
    }
    return strval; }
    public string getOneVal(string sql)
    {
    return this.getOneVal(sql,null);
    } }
    }
      

  5.   

    上面两个帖子市完整sql数据库操作类.自己参考下吧.不明白的给我发邮件[email protected]
      

  6.   

    在VS2005中开发数据库项目,这样:先建一个数据库,->建所需要的表(集合)VS2005自动生成一个数据集...你把这个数据集打开,把你要的表从你建的表集合中统统拖到这个数据集上,就OK了,生成一次将自动在工具箱中生成"每一个表的,适配器"...
      

  7.   

    偶原来也用delphi,好像delphi里的adoconnection,adoquery,datasource与.net的差不多.不过datasource在.net里好像被去掉了
      

  8.   

    1.面板里没有可到工具-选择工具箱项里添加.net framework工具
      

  9.   

    自己new一个出来就可以了,不用拖来拖去的。