/// <summary> /// ����������Ϣ������Դ��ѯ���ݱ�����ݼ��� /// </summary> /// <param name="fields">�ֶ��б�</param> /// <param name="tableName">����Դ�еı�����</param> /// <param name="pkNames">������������</param> /// <param name="pkValues">����ֵ���飬�������������Ӧ</param> /// <param name="DB">���ݷ��ʶ���</param> /// <returns></returns> public DataSet SelectDataSet(string fields, string tableName, string[] pkNames, object[] pkValues, DMEDb_CommonDB DB) { string ParaChar = GetDBParaChar(DB); string sqlSelect = "SELECT " + fields + " FROM " + tableName + " WHERE 1=1 "; IDataParameter[] paras = new IDataParameter[pkNames.Length]; for (int i = 0; i < pkNames.Length; i++) { sqlSelect += " And " + pkNames[i] + "=" + ParaChar + pkNames[i]; paras[i] = DB.GetParameter(ParaChar + pkNames[i], pkValues[i]); } DataSet ds = DB.ExecuteDataSet(sqlSelect, CommandType.Text, paras); ds.Tables[0].TableName = tableName; return ds; }
/// <summary> /// �������ݱ�������ݷ��ʶ��� /// </summary> /// <param name="dt"></param> /// <param name="SQL"></param> /// <param name="DB"></param> /// <returns></returns> private int UpdateDataTable(DataTable dt, string SQL, DMEDb_CommonDB DB) { string ParaChar = GetDBParaChar(DB); SQL = SQL.Replace("@@", ParaChar); int count = 0; foreach (DataRow dr in dt.Rows) { IDataParameter[] paras = new IDataParameter[dt.Columns.Count]; for (int i = 0; i < dt.Columns.Count; i++) { paras[i] = DB.GetParameter(ParaChar + dt.Columns[i].ColumnName, dr[i]); } count += DB.ExecuteNonQuery(SQL, CommandType.Text, paras); if (DB.ErrorMessage != "") throw new Exception(DB.ErrorMessage); } return count; }
/// <summary> /// �������ݼ�����ָ���ı��У����ݱ��е�ָ���е�ֵ������Դ��ɾ������,�����ݷ��ʶ��� /// </summary> /// <param name="ds">���ݼ�</param> /// <param name="tableName">������</param> /// <param name="columnName">����</param> /// <param name="DB">���ݷ��ʶ���</param> /// <returns></returns> public int DeleteDataSet(DataSet ds, string tableName, string columnName, DMEDb_CommonDB DB) { DataTable dt = ds.Tables[tableName]; string ParaChar = GetDBParaChar(DB); int count = 0; string sqlDelete = "DELETE FROM " + tableName + " WHERE " + columnName + "=" + ParaChar + columnName; foreach (DataRow dr in dt.Rows) { IDataParameter[] paras = { DB.GetParameter(ParaChar + columnName, dr[columnName]) }; count += DB.ExecuteNonQuery(sqlDelete, CommandType.Text, paras); if (DB.ErrorMessage != "") throw new Exception(DB.ErrorMessage); if (count >= dt.Rows.Count) break; } return count; }