PHP MSSql操作类:MSSql.class.php使用指南

版权申诉
0 下载量 43 浏览量 更新于2024-10-03 收藏 1KB RAR 举报
资源摘要信息:"MSSql.class.rar 是一个PHP类库文件,用于提供对SQL数据库的操作功能,主要面向MSSQL数据库。通过此类库,开发者能够更加方便地执行SQL数据库的常见操作,例如数据库连接、查询、插入、更新和删除等,而无需编写大量的底层代码。这类文件的使用,不仅可以提升开发效率,而且可以保证数据库操作的代码更加安全、规范。" 从提供的信息来看,这个压缩包中包含了名为"MSSql.class.php"的文件,这表明这是一个针对Microsoft SQL Server(MSSQL)数据库设计的PHP类。下面是对该资源中涉及知识点的详细说明: 1. PHP与数据库的交互:PHP作为一门服务器端的脚本语言,经常用于网页开发和后端逻辑处理。在与数据库进行交互时,PHP提供了多种扩展和类库,以实现对数据库的操作。在本例中,MSSQL.class.php提供了一个面向对象的方式来操作MSSQL数据库。 2. MSSQL数据库简介:Microsoft SQL Server(简称MSSQL)是微软公司开发的一种关系型数据库管理系统。它广泛应用于数据存储和管理,尤其是在中大型企业应用中。MSSQL支持复杂的查询和事务处理,具备良好的数据完整性和安全性特性。 3. PHP操作MSSQL数据库的方法:在没有现成类库的情况下,PHP操作MSSQL数据库通常需要使用PDO(PHP Data Objects)扩展或mysqli扩展。PDO是一个数据库访问抽象层,支持多种数据库系统,而mysqli是专门为MySQL设计的一个面向对象的扩展,但也可以用于MSSQL(需要配置好相应的适配器)。 4. 类库文件结构:通常,一个PHP类库文件会包含至少一个类,该类会封装一系列方法,用于执行数据库的各类操作。在这个具体的类库中,可以预期它会包含如下方法: - 连接数据库的方法:可能是构造函数或单独的方法,用于建立与MSSQL数据库的连接。 - 执行查询的方法:封装了query()函数,用于发送SQL语句到数据库并接收结果。 - 数据插入、更新和删除的方法:通常为insert()、update()和delete()方法,用于执行相应的数据库操作。 - 异常处理:类库中可能会包含错误处理机制,如try-catch语句,以优雅地处理数据库操作中可能出现的问题。 5. 使用场景:类库文件通常在需要进行数据库操作时通过include或require语句引入到PHP文件中。它可以让开发者快速实现数据的CRUD(创建、读取、更新、删除)操作,尤其适合需要快速开发而又不愿意重复编写数据库操作代码的场景。 6. 代码维护和安全性:使用专门的类库进行数据库操作,不仅可以使代码更加清晰、易于维护,还可以帮助开发者避免直接编写未经审核的SQL语句,从而降低SQL注入等安全风险。 通过以上知识点,可以了解到MSSql.class.php文件是一个用于简化PHP与MSSQL数据库交互的工具类,它封装了数据库操作的方法,提高了开发效率,并且有助于保障代码的安全性。开发者使用此类库可以更加专注于业务逻辑的实现,而不需要过多关注底层的数据库操作细节。

import os import tkinter as tk from tkinter import ttk import pymssql import smtplib from email.mime.multipart import MIMEMultipart from email.header import Header from email.mime.text import MIMEText host = '..*.**' user = 'sa' password = '123456789' database = 'deste' class MSSQL: """""" def init(self): self.db_config = {"host": host, "user": user, "password": password, "database": database} def __get_connect(self, charset='utf8'): try: # 实例化连接对象 self.conn = pymssql.connect(**self.db_config, charset=charset) cur = self.conn.cursor() except pymssql.DatabaseError: print('连接失败') cur = '' else: print('连接成功') return cur def exec_query(self, str_sql): cur = self.__get_connect(charset='GBK') cur.execute(str_sql) results_list = cur.fetchall() cur.close() self.conn.close() return results_list def exec_non_query(self, str_sql): cur = self.__get_connect() cur.execute(str_sql) self.conn.commit() cur.close() self.conn.close() def zhaowenjian(list_result): ''' 需要查找的关键字列表 和对应的path ''' print(list_result) result1 = [item[3] + item[2] for item in list_result if item[0] == 6] result2 = [item[3] + item[2] for item in list_result if item[0] == 2] path1 = 'E:/出货报告/5604' path2 = 'E:/出货报告1/5604' keywords1 = result1 keywords2 = result2 ''' 找到文件路径 ''' file_dict = {} for pn in keywords1: file_dict[pn] = [] for pn in keywords2: file_dict[pn] = [] for root, dirs, files in os.walk(path1): for file in files: for keyword in keywords1: if keyword in file: file_dict[keyword].append(os.path.join(root, file)) for root, dirs, files in os.walk(path2): for file in files: for keyword in keywords2: if keyword in file: file_dict[keyword].append(os.path.join(root, file)) print(file_dict) for key,value in file_dict.items(): print(key,value,len(value)) return file_dict def show_file_dict(): file_dict = zhaowenjian(list_result) if name == 'main': Sql = """SELECT [WHSE_PTR] , [SALES_ORDER] , [CP_REV] , [CUSTOMER_PART_NUMBER] , [INTIME] , [stat] FROM[fineReport].[dbo].[lCSRM5604] where stat = 1""" list = MSSQL().exec_query(Sql) list_result = list zhaowenjian(list_result) show_file_dict() 在Django中调用这个py文件的代码

2023-05-30 上传