+ -
当前位置:首页 → 问答吧 → C#读取数据库问题!

C#读取数据库问题!

时间:2011-12-28

来源:互联网

如何用C# 把数据库里的数据读出来 在DELPHI里 用for i:= 1 to form1.ADOQuery1.RecordCount do

在C#里用什么呢

作者: gaomz2008   发布时间: 2011-12-28

这个看看书就知道了!增删改查都有的!

作者: guoyanhong1111   发布时间: 2011-12-28

public static DataSet RunSqlDataSet(string sql, out string ErrorMsg)
  {
  ErrorMsg = "";
  //设置DataAdapter 
  DbDataAdapter da = Factory.CreateDataAdapter(sql);
  try
  {
  DataSet DS = new DataSet();
  da.Fill(DS);
  return DS;
  }
  catch (Exception ex)
  {
  WriteLog.SetErrorMsg("RunSqlDataSet", sql, ex.Message); //处理错误
  ErrorMsg = ex.Message + "<BR>RunSqlDataSet_SQL:" + sql;
  return null;
  }
  finally
  {
  //关闭数据库,销毁实例
  Factory.DbDataAdapterDispose(da);

  }
  }

作者: Chinajiyong   发布时间: 2011-12-28

#region 执行简单SQL语句

  /// <summary>
  /// 执行SQL语句,返回影响的记录数
  /// </summary>
  /// <param name="SQLString">SQL语句</param>
  /// <returns>影响的记录数</returns>
  public static int ExecuteSql(string SQLString)
  {
  using (SqlConnection connection = new SqlConnection(connectionString))
  {
  using (SqlCommand cmd = new SqlCommand(SQLString, connection))
  {
  try
  {
  connection.Open();
  int rows = cmd.ExecuteNonQuery();
  return rows;
  }
  catch (System.Data.SqlClient.SqlException E)
  {
  connection.Close();
  WriteLog.SetErrorMsg("ExecuteSql", SQLString, E.Message);
  throw new Exception(E.Message);
  }
  }
  }
  }

  /// <summary>
  /// 执行多条SQL语句,实现数据库事务。
  /// </summary>
  /// <param name="SQLStringList">多条SQL语句</param>
  public static void ExecuteSqlTran(ArrayList SQLStringList)
  {
  using (SqlConnection conn = new SqlConnection(connectionString))
  {
  conn.Open();
  SqlCommand cmd = new SqlCommand();
  cmd.Connection = conn;
  SqlTransaction tx = conn.BeginTransaction();
  cmd.Transaction = tx;
  try
  {
  for (int n = 0; n < SQLStringList.Count; n++)
  {
  string strsql = SQLStringList[n].ToString();
  if (strsql.Trim().Length > 1)
  {
  cmd.CommandText = strsql;
  cmd.ExecuteNonQuery();
  }
  }
  tx.Commit();
  }
  catch (System.Data.SqlClient.SqlException E)
  {
  tx.Rollback();
   
  throw new Exception(E.Message);
  }
  }
  }
  /// <summary>
  /// 执行带一个存储过程参数的的SQL语句。
  /// </summary>
  /// <param name="SQLString">SQL语句</param>
  /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
  /// <returns>影响的记录数</returns>
  public static int ExecuteSql(string SQLString, string content)
  {
  using (SqlConnection connection = new SqlConnection(connectionString))
  {
  SqlCommand cmd = new SqlCommand(SQLString, connection);
  System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText);
  myParameter.Value = content;
  cmd.Parameters.Add(myParameter);
  try
  {
  connection.Open();
  int rows = cmd.ExecuteNonQuery();
  return rows;
  }
  catch (System.Data.SqlClient.SqlException E)
  {
  WriteLog.SetErrorMsg("ExecuteSql", SQLString, E.Message);
  throw new Exception(E.Message);
  }
  finally
  {
  cmd.Dispose();
  connection.Close();
  }
  }
  }
  /// <summary>
  /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
  /// </summary>
  /// <param name="strSQL">SQL语句</param>
  /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
  /// <returns>影响的记录数</returns>
  public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
  {
  using (SqlConnection connection = new SqlConnection(connectionString))
  {
  SqlCommand cmd = new SqlCommand(strSQL, connection);
  System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@fs", SqlDbType.Image);
  myParameter.Value = fs;
  cmd.Parameters.Add(myParameter);
  try
  {
  connection.Open();
  int rows = cmd.ExecuteNonQuery();
  return rows;
  }
  catch (System.Data.SqlClient.SqlException E)
  {
  WriteLog.SetErrorMsg("ExecuteSql", strSQL, E.Message);
  throw new Exception(E.Message);
  }
  finally
  {
  cmd.Dispose();
  connection.Close();
  }
  }
  }

  /// <summary>
  /// 执行一条计算查询结果语句,返回查询结果(object)。
  /// </summary>
  /// <param name="SQLString">计算查询结果语句</param>
  /// <returns>查询结果(object)</returns>
  public static object GetSingle(string SQLString)
  {
  using (SqlConnection connection = new SqlConnection(connectionString))
  {
  using (SqlCommand cmd = new SqlCommand(SQLString, connection))
  {
  try
  {
  connection.Open();
  object obj = cmd.ExecuteScalar();
  if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  {
  return null;
  }
  else
  {
  return obj;
  }
  }
  catch (System.Data.SqlClient.SqlException e)
  {
  connection.Close();
  WriteLog.SetErrorMsg("DBHelper:GetSingle", SQLString, e.Message);
  throw new Exception(e.Message);
  }
  }
  }
  }
  /// <summary>
  /// 执行查询语句,返回SqlDataReader
  /// </summary>
  /// <param name="strSQL">查询语句</param>
  /// <returns>SqlDataReader</returns>
  public static SqlDataReader ExecuteReader(string strSQL)
  {
  SqlConnection connection = new SqlConnection(connectionString);
  SqlCommand cmd = new SqlCommand(strSQL, connection);
  try
  {
  connection.Open();
  SqlDataReader myReader = cmd.ExecuteReader();
  return myReader;
  }
  catch (System.Data.SqlClient.SqlException e)
  {
  WriteLog.SetErrorMsg("DBHelper:ExecuteReader", strSQL, e.Message);
  throw new Exception(e.Message);
  }

  }
  #endregion

作者: cqjiyong   发布时间: 2011-12-28

在C#中读取数据库记录是利用Sql语句来实现的

作者: lengyan20089   发布时间: 2011-12-28