首先感谢众多乐意助人的众多高手,感谢你们无私的奉献。现在菜鸟提问,师傅带着我重写一个人事管理程序,数据库和窗体都做好了。现在师傅叫连接数据库,实现输入数据。保存数据到数据库,可是我看了很多书。真的不知道怎么入手,怎么连。。个位大侠。能不能教教我啊。55或是在那里有相关的教程,视频最好。。一步一步教。要不然我要拿出200大洋请同事吃饭的。。我现在工资不高啊。

解决方案 »

  1.   

    当菜鸟的潜力过于巨大的时候,要发掘出来是需要很长一段时间的,最快的办法就是去图书馆找本.NET数据库编程入门的书,按步就班,顺祝楼主你平步青云
      

  2.   

    看书,或者MSDN,你还有很长的路要走,努力吧
      

  3.   

    这个是连接数据库的
    MyConnection  = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["newconnectionString"].ToString());
    MyConnection.Open();
    string SqlString ="select * from UpLoad where u_id=2";
    MyCommand = new SqlCommand(SqlString,MyConnection);
    MyDataReader = MyCommand.ExecuteReader();
    你如果是执行update的话,把SqlString 改成“update 表 set 列=值 where 条件”
    再把MyDataReader = MyCommand.ExecuteReader();去掉,换成MyCommand.ExecuteNonQuery(),OK了,希望对你有帮助
      

  4.   

    经过长期总结,我自己写了一个数据库操作的一个类DB,一直使用并不断改进它。你只要在你的项目中添加此类,复制代码即可,使用非常方便。不同的数据库只要改以下连接字符串即可。我基本上用Oracle数据库多,有问题和建议给我留言。
    可以实现几乎所有的数据库操作,以下是几种常用的用法,非常方便,一个操作也就一两句话。
    查询数据:
    1 返回多个查询记录
    DB db = new DB()
    string sql="selelct * from tablename"
    OleDbDataReader dr=db.ExeQuery(string sql);
    //你自己处理dr中的数据
    db.Close();
    2 返回一个值
    DB db = new DB()
    string sql="selelct 列名 from tablename"
    string res=db.getAValue(string sql);
    //你自己处理res中的数据
    db.Close();
    3 填充一个DateSet
        db.FillDataSet(DataSet ds,string sql,string tableName)
    存储数据就更简单了
    可以是update、delete、insert等
    DB db = new DB()
    string sql="update tablename set 列名=值 "
    db.ExeNonQuery(string sql);
    执行存储过程
    db.ExeProcedure(string ProName)
    以下是自己封装DB的全部代码,有时间把有些在改进以下
      public class DB
      {
        private string _ConnString;
        public static string DateFormat;
        public static string TimeFormat;
        /// <summary>
        /// yyyy-mm-dd hh24:mi:ss
        /// 2007-04-03 17:12:34
        /// </summary>
        public static string OracleDateTimeFormat;
        /// <summary>
        /// yyyy-MM-dd HH:mm:ss
        /// 2007-04-03 17:12:34
        /// </summary>
        public static string DotNetDateTimeFormat;
        
            private OleDbConnection Conn;
        public OleDbCommand Comm;
        private bool _AutoCommit;    public string ConnString
        {
          get { return _ConnString; }
          set
          {
            if (value != "")
              _ConnString = value;
            else
              _ConnString = "";
          }
        }
        /// <summary>
        /// 是否自动提交
        /// </summary>
        public bool AutoCommit
        {
          get { return _AutoCommit; }
          set { _AutoCommit = value; }
        }
        public DB()
        {
          _ConnString = "Provider=\"MSDAORA.1\";User ID=hzb;Data Source=misora;Password=88888";
          initDB();
        }
        public DB(String connectString)
        {
          _ConnString = connectString;
          initDB();
        }
        private void initDB()
        {
          DateFormat = "yyyy-MM-dd";
          TimeFormat = "HH24:mi:ss";
          OracleDateTimeFormat = "yyyy-mm-dd hh24:mi:ss";
          DotNetDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
          Conn = new OleDbConnection(_ConnString);
          Comm = new OleDbCommand(" ", Conn);
        }
        private string _errorMessages;
        /// <summary>
        /// 执行方法返回false时,可以从中取到错误信息
        /// </summary>
        public string errorMessages
        {
          get
          {
            return _errorMessages;
          }
        }    public bool ConnTry()
        {
          try
          {
            if (Conn.State == ConnectionState.Closed)
              Conn.Open();
          }
          catch (OleDbException e)
          {
            this._errorMessages=getErrorMsg(e,"");
            return false;
          }
          return true;
        }
        public void WriteLog(string str)
        {
        }
        public void Close()
        {
          Conn.Close();
        }
        public OleDbDataReader ExeQuery(string sql)
        {
          this.Comm.CommandText = sql;
          if (!ConnTry()) return null;
          try
          { return Comm.ExecuteReader(); }
          catch (OleDbException e)
          {
            this._errorMessages=getErrorMsg(e,sql);
            return null;
          }
        }
        public bool ExeNonQuery(string sql)
        {
          this.Comm.CommandText = sql;
          if (!ConnTry()) return false;
          try
          {
            Comm.ExecuteNonQuery();
            Conn.Close();
          }
          catch (OleDbException e)
          {
            this._errorMessages=getErrorMsg(e,sql);
            Conn.Close();
            return false;
          }      //自动提交
          if (_AutoCommit)
            commit();
          return true;
        }
        private string getErrorMsg(OleDbException e,string sql)
        {
          string m="";
          for (int i = 0; i < e.Errors.Count; i++)
          {
            m += "Index #" + i + "\n" +
              "Message: " + e.Errors[i].Message + "\n" +
              "NativeError: " + e.Errors[i].NativeError + "\n" +
              "Source: " + e.Errors[i].Source + "\n" +
              "SQLState: " + e.Errors[i].SQLState + "\n" +
              "SQL: " + sql;
          }
          return m;
        }
        public bool FillDataSet(DataSet ds,string sql,string tableName)
        {
          if (!ConnTry()) return false;
          try
          {
            OleDbDataAdapter da=new OleDbDataAdapter(sql,this.Conn);
            da.Fill(ds,tableName);
            Conn.Close();
            return true;
          }
          catch (OleDbException e)
          {
            this._errorMessages=getErrorMsg(e,sql);
            Conn.Close();
            return false;
          }
        }
        /// <summary>
        /// 要先用Comm.Parameters.Add()增加参数
        /// </summary>
        /// <param name="ProName">过程名</param>
        /// <returns></returns>
        public bool ExeProcedure(string ProName)
        {
          this.Comm.CommandText = ProName;
          this.Comm.CommandType=CommandType.StoredProcedure;
          if (!ConnTry()) return false;
          try
          {
            Comm.ExecuteNonQuery();
            Conn.Close();
            return true;
          }
          catch (OleDbException e)
          {
            this._errorMessages=getErrorMsg(e,"执行过程:"+ProName);
            Conn.Close();
            return false;
          }      
        }
          
        public void commit()
        {
          string sql = "commit";
          Comm.CommandText = sql;
          if (!ConnTry()) return; ;
          Comm.ExecuteNonQuery();
          Conn.Close();
        }    /// <summary>
        /// 将给定的ArrayList中转换成"(i1,i2,i3,....in)"的形式,用于Sql
        /// </summary>
        public string ListToStrForSql(ArrayList al)
        {
          string str = "";
          if (al.Count == 0)
            str = "()";
          else
          {
            if (al.Count == 1)
              str = "(" + al[0].ToString() + ")";
            else
            {
              str = "(" + al[0].ToString();
              for (int i = 1; i < al.Count; i++)
                str += "," + al[i].ToString();
              str += ")";
            }
          }
          return str;
        }
        /// <summary>
        /// 将给定的ArrayList中转换成"('i1','i2','i3',....)"的形式,用于Sql in
        /// </summary>
        public string ListToStrForSqlStr(ArrayList al)
        {
          string str = "";
          if (al.Count == 0)
            str = "()";
          else
          {
            if (al.Count == 1)
              str = "('" + al[0].ToString() + "')";
            else
            {
              str = "('" + al[0].ToString()+"'";
              for (int i = 1; i < al.Count; i++)
                str += ",'" + al[i].ToString()+"'";
              str += ")";
            }
          }
          return str;
        }
        public string getAValue(string sql)
        {
          string res;
          try
          {
            this.Comm.CommandText = sql;
            ConnTry();
            OleDbDataReader dr = Comm.ExecuteReader();
            if (dr.HasRows)
            {
              dr.Read();
              res = dr[0].ToString();
            }
            else
              res = null;
            dr.Close();
            Conn.Close();
            return res;
          }
          catch (Exception e)
          {
            throw new Exception(e.Message);
          }
        }
        public ArrayList getArrayList(string sql)
        {
          ArrayList DBList = new ArrayList();
          try
          {
            this.Comm.CommandText = sql;
            ConnTry();
            OleDbDataReader dr = Comm.ExecuteReader();        if (dr.HasRows)
            {
              while (dr.Read())
              {
                DBList.Add(dr[0].ToString());
              }
            }
            else
              DBList = null;
            dr.Close();
          }
          catch (Exception e)
          {
            throw new Exception(e.Message);
          }
          finally
          {
            Conn.Close();
          }
          return DBList;
        }
        public string oracleDatetime(DateTime d)
        {
          return "to_date('" + d.ToString(DotNetDateTimeFormat) + "','" + OracleDateTimeFormat + "')";
        }
      }
      

  5.   

    连接数据库有 纯代码法和控件法。
    两者各有利弊。你看一个例子,或上MSDN上看看就可以了。不怎么难的。
      

  6.   

    DataTable dt = new DataTable();
            SqlConnection Con = new SqlConnection();
            SqlCommand Cmd = new SqlCommand();
            SqlDataAdapter Ada = new SqlDataAdapter();        public string Connection
            {
                get
                {
                    return ConfigurationSettings.AppSettings["ConnectionString"];
                }
            }        public void SqlCommon()
            {
                try
                {                Con = new SqlConnection(Connection);
                    Cmd.Parameters.Clear();
                    if (Con.State != ConnectionState.Open)
                    {
                        Con.Open();
                    } 
                    Cmd.Connection = Con;
                    Ada.SelectCommand = Cmd;
                    
                }
                catch(Exception ex)
                {
                }        }        取所有数据 
            public DataTable GetAllInforDA()
            {
                try
                {
                    SqlCommon();                Cmd.CommandText = "tb_AfficheGetAllAffiche";
                    Cmd.CommandType = CommandType.StoredProcedure;                Ada.Fill(dt);
                    Cmd.ExecuteNonQuery();
                  Con.Close();            }
                catch (Exception)
                {
                    return null;
                }
                finally
                {
                    ClearSqlCommon();
                }
                return dt;
            }