日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#全能数据库操作类及调用示例

發(fā)布時(shí)間:2023/12/18 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#全能数据库操作类及调用示例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[csharp]using System;using System.Data;using System.Data.Common;using System.Configuration;namespace MSCL{ /// /// DbHelper通用數(shù)據(jù)庫類 /// public class DbHelper...

[csharp]
using System;?
using System.Data;?
using System.Data.Common;?
using System.Configuration;?
namespace MSCL?
{?
///


/// DbHelper通用數(shù)據(jù)庫類?
///
public class DbHelper?
{?
///
///?
///
private static string dbProviderName = ConfigurationManager.AppSettings["DbHelperProvider"];?

///
///?
///
private static string dbConnectionString = ConfigurationManager.AppSettings["ConnectionString"];?

private DbConnection connection;?
public DbHelper()?
{?
this.connection = CreateConnection(DbHelper.dbConnectionString);?
}?
public DbHelper(string connectionString)?
{?
this.connection = CreateConnection(connectionString);?
}?
public static DbConnection CreateConnection()?
{?
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);?
DbConnection dbconn = dbfactory.CreateConnection();?
dbconn.ConnectionString = DbHelper.dbConnectionString;?
return dbconn;?
}?
public static DbConnection CreateConnection(string connectionString)?
{?
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);?
DbConnection dbconn = dbfactory.CreateConnection();?
dbconn.ConnectionString = connectionString;?
return dbconn;?
}?

///
/// 執(zhí)行存儲過程?
///
///存儲過程名?
///?
public DbCommand GetStoredProcCommand(string storedProcedure)?
{?
DbCommand dbCommand = connection.CreateCommand();?
dbCommand.CommandText = storedProcedure;?
dbCommand.CommandType = CommandType.StoredProcedure;?
return dbCommand;?
}?

///
/// 執(zhí)行SQL語句?
///
///SQL語句?
///?
public DbCommand GetSqlStringCommand(string sqlQuery)?
{?
DbCommand dbCommand = connection.CreateCommand();?
dbCommand.CommandText = sqlQuery;?
dbCommand.CommandType = CommandType.Text;?
return dbCommand;?
}?

#region 增加參數(shù)?

public void AddParameterCollection(DbCommand cmd, DbParameterCollection dbParameterCollection)?
{?
foreach (DbParameter dbParameter in dbParameterCollection)?
{?
cmd.Parameters.Add(dbParameter);?
}?
}?

///
/// 增加輸出參數(shù)?
///
///?
///?
///?
///?
public void AddOutParameter(DbCommand cmd, string parameterName, DbType dbType, int size)?
{?
DbParameter dbParameter = cmd.CreateParameter();?
dbParameter.DbType = dbType;?
dbParameter.ParameterName = parameterName;?
dbParameter.Size = size;?
dbParameter.Direction = ParameterDirection.Output;?
cmd.Parameters.Add(dbParameter);?
}?

///
/// 增加輸入?yún)?shù)?
///
///?
///?
///?
///?
public void AddInParameter(DbCommand cmd, string parameterName, DbType dbType, object value)?
{?
DbParameter dbParameter = cmd.CreateParameter();?
dbParameter.DbType = dbType;?
dbParameter.ParameterName = parameterName;?
dbParameter.Value = value;?
dbParameter.Direction = ParameterDirection.Input;?
cmd.Parameters.Add(dbParameter);?
}?

///
/// 增加返回參數(shù)?
///
///?
///?
///?
public void AddReturnParameter(DbCommand cmd, string parameterName, DbType dbType)?
{?
DbParameter dbParameter = cmd.CreateParameter();?
dbParameter.DbType = dbType;?
dbParameter.ParameterName = parameterName;?
dbParameter.Direction = ParameterDirection.ReturnValue;?
cmd.Parameters.Add(dbParameter);?
}?

public DbParameter GetParameter(DbCommand cmd, string parameterName)?
{?
return cmd.Parameters[parameterName];?
}?

#endregion?

#region 執(zhí)行?

///
/// 執(zhí)行查詢返回DataSet?
///
///?
///?
public DataSet ExecuteDataSet(DbCommand cmd)?
{?
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);?
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();?
dbDataAdapter.SelectCommand = cmd;?
DataSet ds = new DataSet();?
dbDataAdapter.Fill(ds);?
return ds;?
}?

///
/// 執(zhí)行查詢返回DataTable?
///
///?
///?
public DataTable ExecuteDataTable(DbCommand cmd)?
{?
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);?
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();?
dbDataAdapter.SelectCommand = cmd;?
DataTable dataTable = new DataTable();?
dbDataAdapter.Fill(dataTable);?
return dataTable;?
}?

///
/// 執(zhí)行查詢返回DataReader?
///
///?
///?
public DbDataReader ExecuteReader(DbCommand cmd)?
{?
cmd.Connection.Open();?
DbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);?
return reader;?
}?

///
/// 執(zhí)行SQL語句,返回影響行數(shù)?
///
///?
///?
public int ExecuteNonQuery(DbCommand cmd)?
{?
cmd.Connection.Open();?
int ret = cmd.ExecuteNonQuery();?
cmd.Connection.Close();?
return ret;?
}?

///
/// 返回首行首列對象?
///
///?
///?
public object ExecuteScalar(DbCommand cmd)?
{?
cmd.Connection.Open();?
object ret = cmd.ExecuteScalar();?
cmd.Connection.Close();?
return ret;?
}?
#endregion?

#region 執(zhí)行事務(wù)?

///
/// 執(zhí)行事務(wù)返回DataSet?
///
///?
///?
///?
public DataSet ExecuteDataSet(DbCommand cmd, Trans t)?
{?
cmd.Connection = t.DbConnection;?
cmd.Transaction = t.DbTrans;?
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);?
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();?
dbDataAdapter.SelectCommand = cmd;?
DataSet ds = new DataSet();?
dbDataAdapter.Fill(ds);?
return ds;?
}?

///
/// 執(zhí)行事務(wù)返回DataTable?
///
///?
///?
///?
public DataTable ExecuteDataTable(DbCommand cmd, Trans t)?
{?
cmd.Connection = t.DbConnection;?
cmd.Transaction = t.DbTrans;?
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);?
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();?
dbDataAdapter.SelectCommand = cmd;?
DataTable dataTable = new DataTable();?
dbDataAdapter.Fill(dataTable);?
return dataTable;?
}?

///
/// 執(zhí)行事務(wù)返回DataReader?
///
///?
///?
///?
public DbDataReader ExecuteReader(DbCommand cmd, Trans t)?
{?
cmd.Connection.Close();?
cmd.Connection = t.DbConnection;?
cmd.Transaction = t.DbTrans;?
DbDataReader reader = cmd.ExecuteReader();?
return reader;?
}?

///
/// 執(zhí)行事務(wù)SQL語句返回影響行數(shù)?
///
///?
///?
///?
public int ExecuteNonQuery(DbCommand cmd, Trans t)?
{?
cmd.Connection.Close();?
cmd.Connection = t.DbConnection;?
cmd.Transaction = t.DbTrans;?
int ret = cmd.ExecuteNonQuery();?
return ret;?
}?

///
/// 執(zhí)行事務(wù)SQL語句返回首行首列?
///
///?
///?
///?
public object ExecuteScalar(DbCommand cmd, Trans t)?
{?
cmd.Connection.Close();?
cmd.Connection = t.DbConnection;?
cmd.Transaction = t.DbTrans;?
object ret = cmd.ExecuteScalar();?
return ret;?
}?
#endregion?
}?

public class Trans : IDisposable?
{?
private DbConnection conn;?
private DbTransaction dbTrans;?
public DbConnection DbConnection?
{?
get { return this.conn; }?
}?
public DbTransaction DbTrans?
{?
get { return this.dbTrans; }?
}?

public Trans()?
{?
conn = DbHelper.CreateConnection();?
conn.Open();?
dbTrans = conn.BeginTransaction();?
}?
public Trans(string connectionString)?
{?
conn = DbHelper.CreateConnection(connectionString);?
conn.Open();?
dbTrans = conn.BeginTransaction();?
}?
public void Commit()?
{?
dbTrans.Commit();?
this.Colse();?
}?

public void RollBack()?
{?
dbTrans.Rollback();?
this.Colse();?
}?

public void Dispose()?
{?
this.Colse();?
}?

public void Colse()?
{?
if (conn.State == System.Data.ConnectionState.Open)?
{?
conn.Close();?
}?
}?
}?
}

using System;
using System.Data;
using System.Data.Common;
using System.Configuration;
namespace MSCL
{
///


/// DbHelper通用數(shù)據(jù)庫類
///
public class DbHelper
{
///
///?
///
private static string dbProviderName = ConfigurationManager.AppSettings["DbHelperProvider"];

///


///?
///
private static string dbConnectionString = ConfigurationManager.AppSettings["ConnectionString"];

private DbConnection connection;
public DbHelper()
{
this.connection = CreateConnection(DbHelper.dbConnectionString);
}
public DbHelper(string connectionString)
{
this.connection = CreateConnection(connectionString);
}
public static DbConnection CreateConnection()
{
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbConnection dbconn = dbfactory.CreateConnection();
dbconn.ConnectionString = DbHelper.dbConnectionString;
return dbconn;
}
public static DbConnection CreateConnection(string connectionString)
{
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbConnection dbconn = dbfactory.CreateConnection();
dbconn.ConnectionString = connectionString;
return dbconn;
}

///


/// 執(zhí)行存儲過程
///
///存儲過程名
///?
public DbCommand GetStoredProcCommand(string storedProcedure)
{
DbCommand dbCommand = connection.CreateCommand();
dbCommand.CommandText = storedProcedure;
dbCommand.CommandType = CommandType.StoredProcedure;
return dbCommand;
}

///


/// 執(zhí)行SQL語句
///
///SQL語句
///?
public DbCommand GetSqlStringCommand(string sqlQuery)
{
DbCommand dbCommand = connection.CreateCommand();
dbCommand.CommandText = sqlQuery;
dbCommand.CommandType = CommandType.Text;
return dbCommand;
}

#region 增加參數(shù)

public void AddParameterCollection(DbCommand cmd, DbParameterCollection dbParameterCollection)
{
foreach (DbParameter dbParameter in dbParameterCollection)
{
cmd.Parameters.Add(dbParameter);
}
}

///


/// 增加輸出參數(shù)
///
///
///
///
///
public void AddOutParameter(DbCommand cmd, string parameterName, DbType dbType, int size)
{
DbParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Size = size;
dbParameter.Direction = ParameterDirection.Output;
cmd.Parameters.Add(dbParameter);
}

///


/// 增加輸入?yún)?shù)
///
///
///
///
///
public void AddInParameter(DbCommand cmd, string parameterName, DbType dbType, object value)
{
DbParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Value = value;
dbParameter.Direction = ParameterDirection.Input;
cmd.Parameters.Add(dbParameter);
}

///


/// 增加返回參數(shù)
///
///
///
///
public void AddReturnParameter(DbCommand cmd, string parameterName, DbType dbType)
{
DbParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(dbParameter);
}

public DbParameter GetParameter(DbCommand cmd, string parameterName)
{
return cmd.Parameters[parameterName];
}

#endregion

#region 執(zhí)行

///


/// 執(zhí)行查詢返回DataSet
///
///
///?
public DataSet ExecuteDataSet(DbCommand cmd)
{
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
dbDataAdapter.SelectCommand = cmd;
DataSet ds = new DataSet();
dbDataAdapter.Fill(ds);
return ds;
}

///


/// 執(zhí)行查詢返回DataTable
///
///
///?
public DataTable ExecuteDataTable(DbCommand cmd)
{
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
dbDataAdapter.SelectCommand = cmd;
DataTable dataTable = new DataTable();
dbDataAdapter.Fill(dataTable);
return dataTable;
}

///


/// 執(zhí)行查詢返回DataReader
///
///
///?
public DbDataReader ExecuteReader(DbCommand cmd)
{
cmd.Connection.Open();
DbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}

///


/// 執(zhí)行SQL語句,返回影響行數(shù)
///
///
///?
public int ExecuteNonQuery(DbCommand cmd)
{
cmd.Connection.Open();
int ret = cmd.ExecuteNonQuery();
cmd.Connection.Close();
return ret;
}

///


/// 返回首行首列對象
///
///
///?
public object ExecuteScalar(DbCommand cmd)
{
cmd.Connection.Open();
object ret = cmd.ExecuteScalar();
cmd.Connection.Close();
return ret;
}
#endregion

#region 執(zhí)行事務(wù)

///


/// 執(zhí)行事務(wù)返回DataSet
///
///
///
///?
public DataSet ExecuteDataSet(DbCommand cmd, Trans t)
{
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
dbDataAdapter.SelectCommand = cmd;
DataSet ds = new DataSet();
dbDataAdapter.Fill(ds);
return ds;
}

///


/// 執(zhí)行事務(wù)返回DataTable
///
///
///
///?
public DataTable ExecuteDataTable(DbCommand cmd, Trans t)
{
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
dbDataAdapter.SelectCommand = cmd;
DataTable dataTable = new DataTable();
dbDataAdapter.Fill(dataTable);
return dataTable;
}

///


/// 執(zhí)行事務(wù)返回DataReader
///
///
///
///?
public DbDataReader ExecuteReader(DbCommand cmd, Trans t)
{
cmd.Connection.Close();
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
DbDataReader reader = cmd.ExecuteReader();
return reader;
}

///


/// 執(zhí)行事務(wù)SQL語句返回影響行數(shù)
///
///
///
///?
public int ExecuteNonQuery(DbCommand cmd, Trans t)
{
cmd.Connection.Close();
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
int ret = cmd.ExecuteNonQuery();
return ret;
}

///


/// 執(zhí)行事務(wù)SQL語句返回首行首列
///
///
///
///?
public object ExecuteScalar(DbCommand cmd, Trans t)
{
cmd.Connection.Close();
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
object ret = cmd.ExecuteScalar();
return ret;
}
#endregion
}

public class Trans : IDisposable
{
private DbConnection conn;
private DbTransaction dbTrans;
public DbConnection DbConnection
{
get { return this.conn; }
}
public DbTransaction DbTrans
{
get { return this.dbTrans; }
}

public Trans()
{
conn = DbHelper.CreateConnection();
conn.Open();
dbTrans = conn.BeginTransaction();
}
public Trans(string connectionString)
{
conn = DbHelper.CreateConnection(connectionString);
conn.Open();
dbTrans = conn.BeginTransaction();
}
public void Commit()
{
dbTrans.Commit();
this.Colse();
}

public void RollBack()
{
dbTrans.Rollback();
this.Colse();
}

public void Dispose()
{
this.Colse();
}

public void Colse()
{
if (conn.State == System.Data.ConnectionState.Open)
{
conn.Close();
}
}
}
}
[csharp]?
using System;?
using System.Collections.Generic;?
using System.Text;?

namespace MSCL?
{?
#region 使用示例?
/*
List?ftvlist = new List();
ftvlist.Add(new FieldTypeValue("ErrorDetail", "這是個(gè)錯誤"));
ftvlist.Add(new FieldTypeValue("ErrorFlag", "1"));
ftvlist.Add(new FieldTypeValue("ErrorRemark","這是個(gè)錯誤,我還沒有處理"));
ftvlist.Add(new FieldTypeValue("ErrorTime", DateTime.Now.ToString()));
ftvlist.Add(new FieldTypeValue("OprationTime", DateTime.Now.ToString()));
//新增
string sql = MSCL.BuilderSql.createInsertSql("AFM_SysLog", ftvlist);
MSCL.SqlHelper.ExecSql(sql);
//修改
string sql = MSCL.BuilderSql.createUpdateSql("AFM_SysLog", ftvlist, "ErrorID", "166");
MSCL.SqlHelper.ExecSql(sql);
//刪除
string sql = MSCL.BuilderSql.createDeleteSql("AFM_SysLog", "ErrorID", "166");
MSCL.SqlHelper.ExecSql(sql);
*/
#endregion?

#region 數(shù)據(jù)表字段類?
///


/// 數(shù)據(jù)表字段類?
///
public class FieldTypeValue?
{?
///
/// 字段容器?
///
///字段名?
///字段值?
///是否數(shù)字字段?
public FieldTypeValue(string fieldName, string fieldValue, bool isNum)?
{?
this.fieldName = fieldName;?
this.fieldValue = fieldValue;?
this.isNum = isNum;?
}?

///
/// 字段容器?
///
///字段名?
///字段值?
public FieldTypeValue(string fieldName, string fieldValue)?
{?
this.fieldName = fieldName;?
this.fieldValue = fieldValue;?
}?

private string fieldName;?
///
/// 字段名?
///
public string FieldName?
{?
get { return fieldName; }?
set { fieldName = value; }?
}?

private bool isNum = false;?
///
/// 是否數(shù)字?
///
public bool IsNum?
{?
get { return isNum; }?
set { isNum = value; }?
}?

private string fieldValue;?
///
/// 字段值?
///
public string FieldValue?
{?
get { return fieldValue; }?
set { fieldValue = value; }?
}?
}?
#endregion?

#region SQL語句的構(gòu)造類?
///
/// SQL語句的構(gòu)造類?
///
public class BuilderSql?
{?

///
/// 構(gòu)造新增Insert語句?
///
///表名?
///字段list?
///?
public static string createInsertSql(string tableName, List?ftvlist)?
{?
StringBuilder sb = new StringBuilder();?
sb.Append(" insert into ");?
sb.Append(tableName);?
sb.Append("(");?
for (int i = 0; i < ftvlist.Count; i++)?
{?
FieldTypeValue ftv = (FieldTypeValue)ftvlist[i];?
if (i != ftvlist.Count - 1)?
{?
sb.Append(ftv.FieldName + ",");?
}?
else?
{?
sb.Append(ftv.FieldName);?
}?
}?
sb.Append(") values(");?
for (int i = 0; i < ftvlist.Count; i++)?
{?
FieldTypeValue ftv = (FieldTypeValue)ftvlist[i];?
if (ftv.IsNum)?
{?
if (i != ftvlist.Count - 1)?
{?
sb.Append(ftv.FieldValue + ",");?
}?
else?
{?
sb.Append(ftv.FieldValue);?
}?
}?
else?
{?
if (i != ftvlist.Count - 1)?
{?
sb.Append("&#39;" + ftv.FieldValue + "&#39;,");?
}?
else?
{?
sb.Append("&#39;" + ftv.FieldValue + "&#39;");?
}?
}?
}?
sb.Append(")");?
return sb.ToString();?
}?


///
/// 構(gòu)造更新Update語句?
///
///表名?
///字段list?
///主鍵名?
///主鍵值?
///?
public static string createUpdateSql(string tableName, List?ftvlist, string pkName, string pkValue)?
{?
StringBuilder sb = new StringBuilder();?
sb.Append(" update ");?
sb.Append(tableName);?
sb.Append(" set");?
for (int i = 0; i < ftvlist.Count; i++)?
{?
FieldTypeValue ftv = (FieldTypeValue)ftvlist[i];?
if (i != ftvlist.Count - 1)?
{?
if (ftv.IsNum)?
{?
sb.Append(" " + ftv.FieldName + "=" + ftv.FieldValue + ",");?
}?
else?
{?
sb.Append(" " + ftv.FieldName + "=&#39;" + ftv.FieldValue + "&#39;,");?
}?
}?
else?
{?
if (ftv.IsNum)?
{?
sb.Append(" " + ftv.FieldName + "=" + ftv.FieldValue + "");?
}?
else?
{?
sb.Append(" " + ftv.FieldName + "=&#39;" + ftv.FieldValue + "&#39;");?
}?
}?
}?
sb.Append(" where " + pkName + "=" + pkValue);?
return sb.ToString();?
}?

///
/// 構(gòu)造刪除Delete語句?
///
///表名?
///主鍵名?
///主鍵值?
///?
public static string createDeleteSql(string tableName, string pkName, string pkValue)?
{?
StringBuilder sb = new StringBuilder();?
sb.Append(" delete from ");?
sb.Append(tableName);?
sb.Append(" where " + pkName + " = &#39;" + pkValue + "&#39;");?
return sb.ToString();?
}?
}?
#endregion?
}

using System;
using System.Collections.Generic;
using System.Text;

namespace MSCL
{
#region 使用示例
/*
List?ftvlist = new List();
ftvlist.Add(new FieldTypeValue("ErrorDetail", "這是個(gè)錯誤"));
ftvlist.Add(new FieldTypeValue("ErrorFlag", "1"));
ftvlist.Add(new FieldTypeValue("ErrorRemark","這是個(gè)錯誤,我還沒有處理"));
ftvlist.Add(new FieldTypeValue("ErrorTime", DateTime.Now.ToString()));
ftvlist.Add(new FieldTypeValue("OprationTime", DateTime.Now.ToString()));
//新增
string sql = MSCL.BuilderSql.createInsertSql("AFM_SysLog", ftvlist);
MSCL.SqlHelper.ExecSql(sql);
//修改
string sql = MSCL.BuilderSql.createUpdateSql("AFM_SysLog", ftvlist, "ErrorID", "166");
MSCL.SqlHelper.ExecSql(sql);
//刪除
string sql = MSCL.BuilderSql.createDeleteSql("AFM_SysLog", "ErrorID", "166");
MSCL.SqlHelper.ExecSql(sql);
*/
#endregion

#region 數(shù)據(jù)表字段類
///


/// 數(shù)據(jù)表字段類
///
public class FieldTypeValue
{
///
/// 字段容器
///
///字段名
///字段值
///是否數(shù)字字段
public FieldTypeValue(string fieldName, string fieldValue, bool isNum)
{
this.fieldName = fieldName;
this.fieldValue = fieldValue;
this.isNum = isNum;
}

///


/// 字段容器
///
///字段名
///字段值
public FieldTypeValue(string fieldName, string fieldValue)
{
this.fieldName = fieldName;
this.fieldValue = fieldValue;
}

private string fieldName;
///


/// 字段名
///
public string FieldName
{
get { return fieldName; }
set { fieldName = value; }
}

private bool isNum = false;
///


/// 是否數(shù)字
///
public bool IsNum
{
get { return isNum; }
set { isNum = value; }
}

private string fieldValue;
///


/// 字段值
///
public string FieldValue
{
get { return fieldValue; }
set { fieldValue = value; }
}
}
#endregion

#region SQL語句的構(gòu)造類
///


/// SQL語句的構(gòu)造類
///
public class BuilderSql
{

///


/// 構(gòu)造新增Insert語句
///
///表名
///字段list
///?
public static string createInsertSql(string tableName, List?ftvlist)
{
StringBuilder sb = new StringBuilder();
sb.Append(" insert into ");
sb.Append(tableName);
sb.Append("(");
for (int i = 0; i < ftvlist.Count; i++)
{
FieldTypeValue ftv = (FieldTypeValue)ftvlist[i];
if (i != ftvlist.Count - 1)
{
sb.Append(ftv.FieldName + ",");
}
else
{
sb.Append(ftv.FieldName);
}
}
sb.Append(") values(");
for (int i = 0; i < ftvlist.Count; i++)
{
FieldTypeValue ftv = (FieldTypeValue)ftvlist[i];
if (ftv.IsNum)
{
if (i != ftvlist.Count - 1)
{
sb.Append(ftv.FieldValue + ",");
}
else
{
sb.Append(ftv.FieldValue);
}
}
else
{
if (i != ftvlist.Count - 1)
{
sb.Append("&#39;" + ftv.FieldValue + "&#39;,");
}
else
{
sb.Append("&#39;" + ftv.FieldValue + "&#39;");
}
}
}
sb.Append(")");
return sb.ToString();
}


///


/// 構(gòu)造更新Update語句
///
///表名
///字段list
///主鍵名
///主鍵值
///?
public static string createUpdateSql(string tableName, List?ftvlist, string pkName, string pkValue)
{
StringBuilder sb = new StringBuilder();
sb.Append(" update ");
sb.Append(tableName);
sb.Append(" set");
for (int i = 0; i < ftvlist.Count; i++)
{
FieldTypeValue ftv = (FieldTypeValue)ftvlist[i];
if (i != ftvlist.Count - 1)
{
if (ftv.IsNum)
{
sb.Append(" " + ftv.FieldName + "=" + ftv.FieldValue + ",");
}
else
{
sb.Append(" " + ftv.FieldName + "=&#39;" + ftv.FieldValue + "&#39;,");
}
}
else
{
if (ftv.IsNum)
{
sb.Append(" " + ftv.FieldName + "=" + ftv.FieldValue + "");
}
else
{
sb.Append(" " + ftv.FieldName + "=&#39;" + ftv.FieldValue + "&#39;");
}
}
}
sb.Append(" where " + pkName + "=" + pkValue);
return sb.ToString();
}

///


/// 構(gòu)造刪除Delete語句
///
///表名
///主鍵名
///主鍵值
///?
public static string createDeleteSql(string tableName, string pkName, string pkValue)
{
StringBuilder sb = new StringBuilder();
sb.Append(" delete from ");
sb.Append(tableName);
sb.Append(" where " + pkName + " = &#39;" + pkValue + "&#39;");
return sb.ToString();
}
}
#endregion
}

[csharp]?
using System;?
using System.Collections.Generic;?
using System.Linq;?
using System.Web;?
using System.Web.UI;?
using System.Web.UI.WebControls;?
using System.Data;?
using System.Text;?
using System.Data.SqlClient;?
using MSCL;?

public partial class SQLDemo : System.Web.UI.Page?
{?
DbHelper db = new DbHelper();?
protected void Page_Load(object sender, EventArgs e)?
{?

}?

//新增數(shù)據(jù)?
protected void Button1_Click(object sender, EventArgs e)?
{?
List?ftvlist = new List();?
ftvlist.Add(new FieldTypeValue("[D_Name]", "測試用戶" + DateTime.Now.ToString("yyyyMMddhhmmss")));?
ftvlist.Add(new FieldTypeValue("[D_Password]", "測試密碼" + DateTime.Now.ToString("yyyyMMddhhmmss")));?
ftvlist.Add(new FieldTypeValue("[D_Else]", "測試備注" + DateTime.Now.ToString("yyyyMMddhhmmss")));?
string sql = BuilderSql.createInsertSql("TestTable", ftvlist);?
int opFlag = db.ExecuteNonQuery(db.GetSqlStringCommand(sql));?
if (opFlag > 0) { JsHelper.Alert("新增成功!", Page); } else { JsHelper.Alert("新增失敗!", Page); };?
}?

//修改數(shù)據(jù)?
protected void Button2_Click(object sender, EventArgs e)?
{?
List?ftvlist = new List();?
ftvlist.Add(new FieldTypeValue("[D_Name]", "這是個(gè)錯誤dsadsadasd"));?
ftvlist.Add(new FieldTypeValue("[D_Password]", "aaa這是個(gè)錯誤,我還沒有處理"));?
ftvlist.Add(new FieldTypeValue("[D_Else]", "aaa這是個(gè)錯誤,我還沒有處理"));?
string sql = BuilderSql.createUpdateSql("TestTable", ftvlist, "D_ID", "1");?
int opFlag = db.ExecuteNonQuery(db.GetSqlStringCommand(sql));?
if (opFlag > 0) { JsHelper.Alert("修改成功!", Page); } else { JsHelper.Alert("修改失敗!", Page); };?
}?

//刪除數(shù)據(jù)?
protected void Button3_Click(object sender, EventArgs e)?
{?
string sql = BuilderSql.createDeleteSql("[TestTable]", "[D_Id]", "1");?
int opFlag = db.ExecuteNonQuery(db.GetSqlStringCommand(sql));?
if (opFlag > 0) { JsHelper.Alert("刪除成功!", Page); } else { JsHelper.Alert("刪除失敗!", Page); };?
}?

//事務(wù)提交?
protected void Button4_Click(object sender, EventArgs e)?
{?
using (Trans t = new Trans())?
{?
try?
{?
db.ExecuteNonQuery(db.GetSqlStringCommand("insert into TestTable(D_Name,D_Password,D_Else) values(&#39;aaaaa1&#39;,&#39;bbbbbb1&#39;,&#39;cccccc1&#39;)"), t);?
db.ExecuteNonQuery(db.GetSqlStringCommand("insert into TestTable(D_Name,D_Password,D_Else) values(&#39;aaaaa2&#39;,&#39;bbbbbb2&#39;,&#39;cccccc2&#39;)"), t);?
db.ExecuteNonQuery(db.GetSqlStringCommand("insert into TestTable(D_Name,D_Password,D_Else) values(&#39;aaaaa3&#39;,&#39;bbbbbb3&#39;,&#39;cccccc3&#39;)"), t);?
db.ExecuteNonQuery(db.GetSqlStringCommand("insert into TestTable(D_Name,D_Password,D_Else) values(&#39;aaaaa4&#39;,&#39;bbbbbb4&#39;,&#39;cccccc4&#39;)"), t);?
db.ExecuteNonQuery(db.GetSqlStringCommand("insert into TestTable(D_Name,D_Password,D_Else) values(&#39;aaaaa5&#39;,&#39;bbbbbb5&#39;,&#39;cccccc5&#39;)"), t);?
t.Commit();?
JsHelper.Alert("事務(wù)提交成功!", Page);?
}?
catch?
{?
t.RollBack();?
JsHelper.Alert("事務(wù)提交失敗!", Page);?
}?
}?
}?

}

總結(jié)

以上是生活随笔為你收集整理的C#全能数据库操作类及调用示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

日韩美视频 | 天天操天天色天天 | 国产精品免费观看在线 | 手机av资源| av高清一区二区三区 | 国产黄影院色大全免费 | 最近中文字幕在线中文高清版 | 亚洲艳情 | 黄av免费| 亚洲国产日韩精品 | 精品国产一区二区久久 | 97国产大学生情侣酒店的特点 | 久久久午夜精品福利内容 | 亚洲精品视频偷拍 | 免费黄色激情视频 | 欧美激情精品久久久久久变态 | 久久精彩免费视频 | 成人av电影免费在线播放 | 久久精品高清 | 中文字幕 在线 一 二 | 一区二区三区动漫 | 日韩国产欧美在线播放 | 人人澡人人模 | 四虎影视欧美 | 成人一级电影在线观看 | 狠狠干.com | 国产中文字幕第一页 | 天天曰天天干 | 97在线观看免费视频 | 久久精品波多野结衣 | 午夜av在线电影 | 99精品欧美一区二区三区黑人哦 | www.国产在线 | 97热久久免费频精品99 | 国产传媒中文字幕 | 国产成人精品av在线 | 91在线精品播放 | 碰碰影院| 蜜臀av一区| 久久尤物电影视频在线观看 | 一区二区伦理 | 51久久夜色精品国产麻豆 | 天堂av色婷婷一区二区三区 | 久久五月网| 日韩免费一二三区 | 亚洲三级黄色 | 一本一本久久a久久精品综合小说 | 日韩av网页 | 免费黄色网止 | 国产男男gay做爰 | 久久精品三级 | 中文字幕高清av | 在线看毛片网站 | 久久久免费精品国产一区二区 | 国产一区二区免费 | www色网站 | 青青河边草免费直播 | 久久免费99| 午夜久久福利影院 | 色www精品视频在线观看 | 成人全视频免费观看在线看 | 天天伊人网 | 天天曰天天爽 | 成人精品视频 | 91九色最新 | 国产免费观看久久 | 亚洲精品在线观 | 日本99久久| 欧美色图狠狠干 | 国产精品一区二区久久 | 国产成人333kkk | 日韩精品视频免费在线观看 | 亚洲视频在线免费观看 | 最新日韩电影 | 九九国产视频 | 色多多视频在线观看 | 色吊丝在线永久观看最新版本 | 在线91网 | 欧美电影在线观看 | 97色婷婷成人综合在线观看 | 探花在线观看 | 日本爱爱片 | 99精品国产免费久久久久久下载 | 97视频在线观看播放 | 天天草天天爽 | 久久婷婷一区二区三区 | 日韩av专区 | 亚洲成人软件 | 成人av影院在线观看 | 91九色蝌蚪视频 | 久久乐九色婷婷综合色狠狠182 | 伊人婷婷久久 | 日韩专区视频 | 精品久久久久久久久久久院品网 | 久久天天躁夜夜躁狠狠85麻豆 | 免费h视频 | 精品乱码一区二区三四区 | 久久社区视频 | 1024久久 | 日韩69视频 | av大全免费在线观看 | 久久欧美综合 | 久久精品视频在线免费观看 | 午夜国产影院 | 免费视频成人 | 国产精品一区在线播放 | 成人高清在线 | 久久精品一区二区三区视频 | 成人在线视频免费看 | 91资源在线观看 | 天天操天天色天天 | 成人午夜影院在线观看 | 激情久久五月天 | 伊甸园永久入口www 99热 精品在线 | 天天干,天天射,天天操,天天摸 | 国产偷在线 | 91精品视频在线看 | 久久高清国产视频 | 色综合五月| 国产日韩在线播放 | 狠狠操影视 | av三级在线免费观看 | 精久久久久 | 麻豆高清免费国产一区 | 国产精品高潮呻吟久久av无 | 亚洲国产97在线精品一区 | 亚洲一区视频在线播放 | www.亚洲黄色 | 日韩av播放在线 | 婷婷色资源| 久久涩视频| 日日碰狠狠躁久久躁综合网 | 狠狠色丁香婷婷综合橹88 | 成年人看片网站 | 欧美俄罗斯性视频 | 超碰国产在线播放 | 青草视频网 | 国产999| 九月婷婷综合网 | 天天天天综合 | 久久国产精品99久久久久久丝袜 | 婷婷久久网 | 中文国产字幕在线观看 | 亚洲一二三久久 | 韩国一区二区在线观看 | 日韩电影一区二区在线观看 | 国产99久久九九精品 | 激情视频91| 美女精品在线观看 | 日韩午夜网站 | 久草免费在线观看视频 | 日韩中文字幕视频在线观看 | 欧美日韩在线观看一区二区 | 国产精品免费久久久久影院仙踪林 | 青青草国产精品 | 五月天,com | 麻豆影音先锋 | 国产小视频在线免费观看视频 | 99在线播放 | 日韩久久一区二区 | 国产青草视频在线观看 | 天天天天色综合 | 97免费在线观看 | 亚洲国产一二三 | www黄色com | 亚洲精品一区二区三区新线路 | 日韩免费高清在线观看 | 天堂中文在线播放 | 婷婷在线播放 | 国产白浆在线观看 | av免费看av | 国产一区二区三区午夜 | 欧美午夜性| 亚洲免费av一区二区 | 999久久久免费视频 午夜国产在线观看 | 成人免费电影 | 久久国产一区二区三区 | 黄污在线观看 | 亚洲精品白浆高清久久久久久 | 啪啪午夜免费 | 亚洲免费在线观看视频 | 久久影院中文字幕 | 国产精品一区二区视频 | 午夜10000 | 久久久久美女 | 国产午夜精品视频 | 不卡的av中文字幕 | 精品久久久久久久久久久久 | 在线中文字幕网站 | 久久久久久久精 | 欧美一区二区三区在线播放 | 9ⅰ精品久久久久久久久中文字幕 | 久久伊人八月婷婷综合激情 | 国产亚洲欧美日韩高清 | 色婷婷88av视频一二三区 | 亚洲国产播放 | 精品视频免费播放 | 免费看一级片 | 91精品无人成人www | 一区二区视频在线观看免费 | 8x8x在线观看视频 | 午夜资源站| 蜜臀久久99精品久久久久久网站 | 免费av 在线 | 国产1区2区| 狠狠色免费| 激情文学综合丁香 | avlulu久久精品 | 亚洲人毛片 | 免费在线观看黄 | 久久久久久国产一区二区三区 | 国产精品99久久久精品免费观看 | 日韩欧美高清在线观看 | 999超碰 | 视频在线播放国产 | 亚洲精品国产电影 | 成人国产精品 | 婷婷久久五月天 | 亚洲国产小视频在线观看 | 91麻豆精品91久久久久同性 | 亚洲欧洲av| 国产一区在线看 | 麻豆国产电影 | 国产又黄又爽无遮挡 | 久久av伊人 | 在线亚洲午夜片av大片 | www.黄色小说.com | 成人午夜黄色 | 日韩综合色| 天天插一插 | 超碰人人草人人 | 韩国av在线 | 欧美视频不卡 | 日韩爱爱片 | 中文字幕在线观看第一页 | 婷婷丁香九月 | 国内精品久久久精品电影院 | 成人久久电影 | 国产午夜精品一区二区三区四区 | 91av在线免费观看 | 91精品国产综合久久福利不卡 | 亚洲视频 中文字幕 | 狠狠干.com| 日韩精品免费一区二区在线观看 | 日本在线观看中文字幕 | 五月婷综合 | 久久网址 | 狠狠插狠狠干 | 亚洲国产欧洲综合997久久, | 欧美激情综合五月色丁香 | 久久毛片高清国产 | 欧美坐爱视频 | 亚洲精品综合一二三区在线观看 | 欧美一级艳片视频免费观看 | 亚洲一区天堂 | 在线不卡视频 | 亚洲黄色在线播放 | 天天爽夜夜爽精品视频婷婷 | 国产偷国产偷亚洲清高 | 少妇高潮流白浆在线观看 | 欧美一级久久 | 丁香六月综合网 | 一区二区欧美在线观看 | 免费在线观看av电影 | www.五月天激情 | 黄色毛片视频 | 最近日本mv字幕免费观看 | 精品国产一区二 | 亚洲婷婷伊人 | 伊人日日干 | 日韩精品在线观看视频 | 国产亚洲激情视频在线 | 欧美日韩亚洲国产一区 | 麻豆视频在线观看免费 | av性在线| 国产精品黄色在线观看 | 一区二区中文字幕在线观看 | 久久乐九色婷婷综合色狠狠182 | 日韩一区精品 | 免费午夜网站 | 麻豆视频国产 | 热re99久久精品国产99热 | 特级黄色视频毛片 | 亚洲伦理一区 | 国产综合精品一区二区三区 | 欧美aa一级片 | 伊人久操| 中文字幕免费不卡视频 | 美女视频黄免费 | 日韩精品黄 | 免费av影视| 国产亚洲精品久久久网站好莱 | 91入口在线观看 | 日韩欧在线 | 人人涩 | 国产精品12 | 六月丁香色婷婷 | 欧美激情精品久久久久 | 久久久国产精品亚洲一区 | 久久精品国产亚洲精品2020 | 成人在线免费视频 | 国产亚洲精品久久网站 | 亚洲女人天堂成人av在线 | 欧美成人在线免费 | 97超碰超碰久久福利超碰 | 伊人色播| 蜜臀aⅴ精品一区二区三区 久久视屏网 | 99精品视频免费观看 | 99久久这里有精品 | 中文字幕之中文字幕 | 在线中文字幕一区二区 | 精品一区二区三区香蕉蜜桃 | 中文av免费 | 美女免费视频一区二区 | 91av在线电影 | 日韩电影在线一区二区 | 欧美午夜久久久 | 偷拍久久久 | 亚洲欧洲av | 五月天色综合 | 国产日本在线观看 | 97成人精品区在线播放 | 在线国产一区二区 | 国产福利午夜 | 中文在线a∨在线 | 日韩a在线观看 | 欧美一级视频一区 | av一级片在线观看 | 国产精品网站一区二区三区 | 日韩一级成人av | 免费国产亚洲视频 | 久久伦理电影 | 日韩欧美一区二区三区在线观看 | 伊人黄| 国产精品99久久久久久小说 | 91av在线精品 | 欧美精品第一 | 91九色丨porny丨丰满6 | 欧美精品久久久久久久久久久 | 成人中文字幕+乱码+中文字幕 | 日韩在线激情 | 国产成人精品一区二区三区免费 | 综合久久网 | 国产69精品久久99不卡的观看体验 | 日韩理论片在线观看 | 精品视频亚洲 | 欧美日韩中文在线 | 免费久久久 | 夜夜骑天天操 | 午夜狠狠操 | 久九视频 | 黄色av观看 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 中文字幕资源在线 | 免费视频你懂的 | 麻豆视频在线 | 成人免费共享视频 | 波多野结衣精品视频 | 四虎免费在线观看 | 久久黄色精品视频 | 成人h电影| 日日干 天天干 | 最近中文字幕国语免费av | 97在线精品国自产拍中文 | 亚洲人人av| 亚洲激情电影在线 | 国产一区二区观看 | 天天干天天弄 | 欧美少妇xx | 插插插色综合 | 精品国产亚洲日本 | 亚洲欧洲一级 | 国产日本亚洲高清 | 亚洲精品国产自产拍在线观看 | 久久看片 | 国产高清中文字幕 | 国产精品99久久久久久武松影视 | 国产成人在线网站 | 亚洲成人高清在线 | 亚洲精品免费在线观看 | 久久精彩 | 啪啪av在线 | 天天射天天 | 亚洲区二区| 欧美精品久久久久久久 | 国产成人黄色网址 | 91桃色视频 | 欧美日韩国产在线一区 | 成人av高清在线 | 日本中文在线观看 | 91大片成人网| 日本论理电影 | 午夜性色 | 国产精品久久久久久影院 | 国产一级大片在线观看 | 久久精品视频免费 | 久久久在线视频 | 午夜视频在线观看一区 | 98久久| 亚洲在线黄色 | 国产理论片在线观看 | 黄色小说免费观看 | 在线观看a视频 | av黄色亚洲| 国产在线观看国语版免费 | 日韩精品中文字幕有码 | 一区二区三区精品久久久 | 久久久久国产一区二区三区四区 | 日韩一区二区三区高清免费看看 | 日韩免费电影网 | 中文字幕av影院 | 欧美一进一出抽搐大尺度视频 | 手机成人在线 | 激情开心网站 | 最近中文字幕第一页 | 久久久国产一区 | 亚洲九九九在线观看 | 91中文字幕在线观看 | 69av久久 | 午夜免费视频网站 | 久久精品视频网 | 中文字幕在线免费看线人 | 最近高清中文在线字幕在线观看 | 91爱在线 | 天天爽夜夜爽人人爽曰av | 久久国产日韩 | 久久爱综合 | 久久99精品久久久久婷婷 | 日韩性色 | 天天色天天爱天天射综合 | 亚洲视频资源在线 | 国产日韩欧美在线影视 | 精品国产一区二区三区不卡 | 久视频在线 | 国产精品理论片在线播放 | 激情图片qvod | 国产手机精品视频 | 激情伊人五月天久久综合 | 天天草夜夜 | 中文字幕在线影视资源 | 免费亚洲一区二区 | 国产麻豆果冻传媒在线观看 | 成人一级影视 | 夜夜夜影院| 久久99中文字幕 | 中日韩三级视频 | 国产一在线精品一区在线观看 | 欧美日韩在线视频一区 | 欧美午夜久久久 | 国产精品久久久久久一区二区三区 | 91九色蝌蚪视频网站 | 岛国av在线| 这里只有精品视频在线 | 午夜精品一区二区三区视频免费看 | 日韩免费一二三区 | 美女一级毛片视频 | 91成人免费看 | 亚洲色综合 | 欧美男女爱爱视频 | 狠狠干 狠狠操 | 日韩在线观看第一页 | 亚洲日本欧美在线 | 成人午夜黄色影院 | 欧美日韩伦理一区 | 黄色一级在线视频 | 美女福利视频在线 | 久久久91精品国产一区二区三区 | 波多野结衣一区三区 | 综合网伊人| 91精品在线免费观看 | 久久情爱 | 中文字幕av全部资源www中文字幕在线观看 | 成人av.com| 麻豆视频免费观看 | 成人欧美一区二区三区在线观看 | 亚洲人在线视频 | 精品专区 | 久久99网| 亚洲电影图片小说 | 国产美女网站视频 | 日韩av中文字幕在线免费观看 | 欧美一区日韩精品 | 久久久久五月天 | 久久精品精品电影网 | 国产精品久久久久久妇 | 网站免费黄色 | 日本二区三区在线 | 99久久久久久国产精品 | 成人黄色电影视频 | 成人在线黄色 | 中文亚洲欧美日韩 | 久香蕉| 亚在线播放中文视频 | 亚洲国产小视频在线观看 | 91爱爱免费观看 | 麻豆传媒视频在线播放 | 国产精品99免视看9 国产精品毛片一区视频 | 在线观看欧美成人 | 国产精品大全 | 豆豆色资源网xfplay | 日本中文字幕在线电影 | 午夜黄色大片 | 片黄色毛片黄色毛片 | www.国产视频 | 激情丁香综合 | 91麻豆精品国产91久久久久 | 日本爱爱免费视频 | 夜夜视频资源 | 91久色蝌蚪 | 久久不卡电影 | 福利在线看片 | 欧美日韩久久不卡 | 99热这里只有精品1 av中文字幕日韩 | 91中文字幕 | www.伊人网| 中文字幕电影网 | av一级久久 | 免费在线观看日韩 | 国产激情小视频在线观看 | 一区二区欧美在线观看 | 久久久高清一区二区三区 | 超碰人在线 | 成年人电影毛片 | 91精品国产高清自在线观看 | 日韩免费一级a毛片在线播放一级 | 五月天六月婷 | 色a在线观看 | 美女网站久久 | 久久99精品久久只有精品 | 日韩在线在线 | 91精品在线观看入口 | 亚洲一区二区黄色 | 97免费中文视频在线观看 | 欧美综合在线观看 | 欧美一二区在线 | 超碰97.com | 激情婷婷网 | 97在线观看免费观看 | 国产色在线视频 | 99视频在线精品国自产拍免费观看 | 综合激情网... | 久久成人亚洲欧美电影 | 午夜精品在线看 | 黄色成人av| 黄色www免费| 视频在线观看国产 | 精品成人在线 | 国产人在线成免费视频 | 激情综合啪| 国产在线观看xxx | 黄av免费在线观看 | 九九视频一区 | 国产一区黄色 | 久久久影院一区二区三区 | 亚洲成人家庭影院 | 91成人在线免费观看 | 国产一区二区三区在线 | 182午夜在线观看 | 午夜精品一区二区三区免费视频 | 五月激情亚洲 | 97操操操 | 狠狠色丁香久久婷婷综 | 久久艹人人 | 九九一级片| 精品久久久久久久久久 | 久久97久久 | 精品播放 | 国产精品高潮在线观看 | 欧美性色综合 | 免费看v片网站 | 日韩精品一区二区在线视频 | 欧美美女视频在线观看 | 免费在线观看不卡av | japanese黑人亚洲人4k | 999久久久免费精品国产 | 97精品超碰一区二区三区 | 欧美国产精品久久久久久免费 | 人人射人人爽 | 丁香av在线 | 中文字幕一区二区三区四区 | 深爱激情站 | 久久久久久国产精品美女 | 看国产黄色片 | 97av色| 三级av免费看 | 国产情侣一区 | 久久久久久久久综合 | 国内揄拍国产精品 | 日韩影视精品 | 久久这里精品视频 | 在线黄色av电影 | 福利视频一区二区 | 久久的色 | 九九涩涩av台湾日本热热 | 亚洲精品乱码久久久久久9色 | 久久久18 | 一二区精品 | 自拍超碰在线 | 国产 日韩 中文字幕 | 久久午夜电影 | 国产剧情亚洲 | 亚洲自拍偷拍色图 | 日韩精品中字 | 精品欧美乱码久久久久久 | 蜜臀精品久久久久久蜜臀 | 色综合久久久久久中文网 | 92精品国产成人观看免费 | 激情网色 | 伊人天堂网 | 久久久久高清毛片一级 | 天天干天天操人体 | 一区二区三区日韩视频在线观看 | 久久人人爽人人爽人人片 | 亚洲mv大片欧洲mv大片免费 | 九九九在线观看视频 | 日本中文字幕在线一区 | 亚洲成人在线免费 | 久久久久亚洲最大xxxx | 日日日操 | 国产精品18久久久久久久久 | 久久avav | 色射色 | 日日干天夜夜 | 成人免费xxx在线观看 | 午夜国产一区二区 | 日韩视频免费看 | 中文字幕在线看 | 丁香婷婷激情五月 | 91.麻豆视频 | 天天拍夜夜拍 | 深夜免费福利视频 | 亚洲精品999| 五月激情五月激情 | 久久久国产精品久久久 | 欧美综合国产 | 五月开心网 | 91综合久久一区二区 | 久草精品在线观看 | 国产精品久久久久av | 天天操天天爱天天干 | 国产香蕉视频在线观看 | www.com.日本一级 | 亚洲国产中文在线观看 | 久久精品日本啪啪涩涩 | 四月婷婷在线观看 | 麻花豆传媒一二三产区 | 美女网站色免费 | 欧美日韩在线视频一区二区 | 国产精品一区二区三区在线看 | aa级黄色大片 | 五月天亚洲综合 | 免费看国产一级片 | 色福利网站 | 欧美aⅴ在线观看 | 日产乱码一二三区别免费 | 欧美日韩在线网站 | 成人av片免费观看app下载 | 黄av资源 | 亚洲电影网站 | 黄色网www| 久久精品com | 色插综合| 国产免费xvideos视频入口 | 欧洲精品在线视频 | 中文字幕无吗 | 欧美巨大 | 高清在线一区 | 色悠悠久久综合 | 中文字幕第 | 天堂久色 | 天堂va欧美va亚洲va老司机 | 精品国产免费一区二区三区五区 | 激情欧美一区二区三区免费看 | 日韩激情影院 | 国产原创在线 | 欧美一级黄大片 | 97香蕉久久超级碰碰高清版 | 天天鲁一鲁摸一摸爽一爽 | 国产精品9999 | 日韩久久精品一区二区 | 国产区精品 | 在线免费精品视频 | 99免费观看视频 | 蜜桃视频日本 | 久久黄页 | 国产一区二区三区在线 | 国产精品久久久久av福利动漫 | 久久在现视频 | 久久成人欧美 | 日韩av电影手机在线观看 | 免费视频黄 | 欧美另类sm图片 | 人人爽人人片 | 国产不卡高清 | 91亚瑟视频 | 人人超碰在线 | 狠狠狠狠狠狠狠干 | 三级视频日韩 | 国产韩国精品一区二区三区 | 91麻豆文化传媒在线观看 | 97精产国品一二三产区在线 | 69国产精品成人在线播放 | av中文字幕在线看 | 中文字幕av免费观看 | 国产色婷婷 | 99爱精品视频 | 日本九九视频 | 日韩| 国产日韩精品欧美 | 欧美成人影音 | 最新日韩精品 | 久久免费激情视频 | av最新资源 | 深爱激情五月综合 | 国产成人一区二 | 天海翼一区二区三区免费 | 丁香六月婷婷开心婷婷网 | 在线观看av的网站 | 日本精品久久久久中文字幕5 | 国产亚洲精品综合一区91 | 99精品国产99久久久久久97 | 久操视频在线免费看 | 亚洲精品xx| 伊人成人久久 | 97日日 | 中文字幕av最新 | 五月天色综合 | 国产精品欧美久久久久天天影视 | 色综合久久中文字幕综合网 | 亚洲最大免费成人网 | 国产黄色片久久 | 国产精品免费视频一区二区 | 激情视频一区二区 | 高清av中文字幕 | 国产精品麻豆果冻传媒在线播放 | 日韩美在线观看 | 亚洲精品乱码白浆高清久久久久久 | 欧美日韩精品在线观看 | 国产精品一区二区在线免费观看 | 欧美日韩免费一区二区三区 | 狂野欧美激情性xxxx | 黄色一级大片在线观看 | 99视频这里有精品 | 综合天堂av久久久久久久 | 在线看成人 | 一区二区伦理电影 | av电影不卡在线 | 九九热.com| 国产福利中文字幕 | 日韩欧美一区二区在线观看 | 精品国产理论 | 久久专区 | 国产大片免费久久 | 欧美日韩午夜爽爽 | 精品在线看 | 色综合五月 | 国产成人综合图片 | 五月天,com | 中文字幕视频网站 | 国产无套精品久久久久久 | 色天天综合网 | 免费一级特黄录像 | 精品视频中文字幕 | 国产自制av | 蜜臀av性久久久久av蜜臀妖精 | 国产视频在线免费 | 欧美男男激情videos | 狠狠插狠狠干 | 六月丁香久久 | 99精品热视频只有精品10 | 国产精品人成电影在线观看 | 伊人热| 国产小视频在线观看免费 | 天天天色综合 | 久久精品亚洲一区二区三区观看模式 | 美女网站在线看 | 亚洲欧美日韩国产精品一区午夜 | 久久 亚洲视频 | 色综合久久66 | 国产三级香港三韩国三级 | 亚洲精品一区二区三区高潮 | 毛片随便看 | wwxxxx日本| 日韩在线观看av | 久久久福利视频 | 伊人久久影视 | 欧美久久久久久久久久久久 | 久久五月天婷婷 | www.色午夜,com| 99re久久精品国产 | 国产人成看黄久久久久久久久 | 91av在线免费视频 | 国产精品久久久久久久久久久久午 | 国产精品 久久 | av丝袜天堂 | 日韩精品第一区 | 一级片免费观看视频 | 九九在线免费视频 | 欧美99久久 | 日韩黄色免费在线观看 | 免费热情视频 | 国产午夜精品一区二区三区欧美 | 久久久久亚洲天堂 | 欧美精品久久 | 久久久久久网站 | 在线观看午夜 | 一区在线电影 | 国模一二三区 | 91精品天码美女少妇 | 国产黄影院色大全免费 | 久久综合免费视频影院 | 五月婷婷在线观看视频 | 草久久久 | a在线观看视频 | 久久久久久久99精品免费观看 | 激情五月激情综合网 | 日韩高清国产精品 | avav片| 日日色综合 | 99精品视频在线看 | 久久国产精品免费一区二区三区 | 成人av影院在线观看 | 片网址| 久久久天堂 | 韩国av一区二区三区 | 久久精美视频 | 婷婷开心久久网 | 特级片免费看 | 九九热在线观看视频 | 97精品国产91久久久久久久 | 国产一区二区在线免费 | 成人久久毛片 | 欧美综合色 | 午夜久久精品 | 91片在线观看| 欧美日本不卡视频 | 亚洲欧美日韩国产 | 国产成人黄色网址 | 久久精品99国产国产 | 国产精品美女久久久久久久网站 | 黄色av网站在线观看免费 | 99国产在线观看 | 一二三区在线 | 久久精品99视频 | 精品免费视频123区 午夜久久成人 | 国产精品不卡在线 | 亚洲精品久久视频 | 免费在线观看日韩欧美 | 欧美亚洲免费在线一区 | 日韩免费播放 | 91成年人网站 | 五月婷婷中文网 | 在线看av的网址 | 亚洲专区一二三 | 亚洲综合色丁香婷婷六月图片 | 福利视频一区二区 | 久久久精品二区 | 黄色免费av| 亚洲一区二区麻豆 | 探花视频网站 | 91亚瑟视频 | 亚洲精品自在在线观看 | 丁香五月缴情综合网 | 亚洲国产97在线精品一区 | 五月天久久综合 | 手机在线观看国产精品 | 中文字幕在线观看视频一区二区三区 | 欧美激情xxxx | 7777xxxx| 欧美色图30p | 看片一区二区三区 | 国内精品久久天天躁人人爽 | 欧美精品亚洲精品 | 日韩欧美极品 | 久久久色 | 亚洲综合激情五月 | 亚洲永久精品在线观看 | 亚洲视频精品在线 | 在线观看日韩一区 | 996久久国产精品线观看 | 91麻豆高清视频 | 六月婷婷网| 国产麻豆视频免费观看 | 日韩一级网站 | 中文字幕在线观看第一区 | 中文字幕av播放 | 国产精品免费视频一区二区 | 91片黄在线观看 | 成人高清在线观看 | 久久精品国产亚洲a | 免费日韩视 | 午夜精品福利一区二区 | 日日躁夜夜躁aaaaxxxx | 久久99免费 | 干av在线 | 久久久久久久久久久久电影 | 欧美日韩精品在线观看 | 91在线免费公开视频 | 又长又大又黑又粗欧美 | 亚洲国产中文字幕在线观看 | 激情久久五月 | 久久久久久久久影视 | 精品视频123区在线观看 | 91人人干 | 亚洲国产日韩欧美 | 亚洲毛片在线观看. | 日韩国产欧美在线播放 | 色网站在线免费 | 欧美性大战久久久久 | 日本性生活一级片 | 国产精品va在线播放 | 婷婷色五| 99精品国产aⅴ | 日本女人逼 | 天天色天天操综合 | 激情视频久久 | 二区三区在线视频 | 天天拍天天色 | 草久在线观看 | av软件在线观看 | 精品一区av | 亚洲精品美女在线观看播放 | 黄色av一区二区三区 | 91精品视频免费观看 | 欧美精品第一 | 夜夜骑天天操 | 欧美日韩视频一区二区 | 亚洲三级网 | 色视频在线看 | 99久久久国产精品免费99 | 亚洲视频网站在线观看 | 欧美一二三视频 | 亚洲激情中文 | 久久精品国产一区 | 欧美久久久久久久 | 在线观看视频h | 色a资源在线 | 亚洲精品视频免费 | 五月婷婷丁香网 | 天天曰 | 亚一亚二国产专区 | 中文字幕一区二区三区久久蜜桃 | 91精品视频一区 | 操操操干干干 | 亚洲91精品| 午夜国产一区 | 午夜婷婷在线播放 | 在线不卡的av | 99久久9| 婷婷色中文 | 中文字幕在线视频网站 | 日韩国产欧美在线播放 | 欧美视频日韩视频 | 精品久久精品 | 久草在线久草在线2 | 成人免费观看视频网站 | 国产高清在线免费观看 | 97香蕉久久国产在线观看 | 国产视频精选 | 久久久国产电影 | 在线观看日韩精品视频 | 久久一区国产 | 国产精品成人久久久久久久 | 91在线播| 免费h精品视频在线播放 | 精品专区一区二区 | 在线观看国产中文字幕 | 99久国产| 精品久久久99 | 丁香婷婷久久 | 丰满少妇麻豆av | 日韩高清一区在线 | av一级片网站 | 日韩av影视在线观看 | 亚洲mv大片欧洲mv大片免费 | 日批视频在线观看免费 | 亚洲九九九 | 国产精品久久久久久久久毛片 | 午夜美女福利直播 | 日韩大片免费观看 | 91精品系列 | 欧美 激情 国产 91 在线 | 国产一区二区三区免费在线观看 | 亚洲免费a | 69绿帽绿奴3pvideos | 亚洲欧美日韩在线看 | 一区二区三区四区不卡 | 中文字幕亚洲欧美日韩2019 | 亚洲综合爱 | 成人午夜久久 | 婷婷av网| 国产精品美女久久久久久久久 | 97精品超碰一区二区三区 | 久久精品电影 | 在线观看免费成人av | 日韩色区 | 精品在线视频观看 | 久久av在线播放 |