--- trigger: always_on --- ******数据库操作规范 项目使用 CreateData + ExecDatabase 模式调用 SQL Server 存储过程,具体使用方式如下: ## CreateData 方法规范 ```javascript // 语法: this.CreateData(type, procedureName, paramArray) // 参数说明: const Data = this.CreateData('11', '存储过程名称', param) ``` **参数1 (type): 操作类型** - '11': 查询操作,返回存储过程的 SELECT 结果集 - '12': 增删改操作,返回执行状态 (result: 1=成功, 其他=失败) **参数2: 存储过程名称** - 必须是完整的存储过程名称,如 'MES_计划BOM_工位与名称_查询_在线状态' **参数3: 存储过程参数数组** ```javascript const param = [ ['工位号', this.$store.state.station.stationNumber], ['产品型号代码', this.$store.state.station.engineValue.EngineTypeID], ['发动机号', EngineID] ] // 数组格式: [参数名, 参数值] ``` ## ExecDatabase 方法规范 ```javascript this.ExecDatabase(Data).then(response => { // 查询操作 (type=11): response.data 为结果数组 // 增删改操作 (type=12): response.data[0].result === '1' 表示成功 console.log(response.data) }) ``` ## 实际使用案例 **查询操作示例:** ```javascript const param = [] param[0] = ['工位号', this.$store.state.station.stationNumber] const Data = this.CreateData('11', 'MES_计划BOM_工位与名称_查询_在线状态', param) this.ExecDatabase(Data).then(response => { this.onlineStatus = response.data[0]['在线状态'] === 0 }) ``` **增删改操作示例:** ```javascript const param = [] param[0] = ['工位号', this.$store.state.station.stationNumber] param[1] = ['变速器序列号', this.EngineIDRepeat] param[2] = ['删除人', this.$store.state.station.stationUserCount] const Data = this.CreateData('12', '北汽福田_变速器_重号删除', param) this.ExecDatabase(Data).then(response => { if (response.data[0]['result'] === '1') { this.$message.success('操作成功,请重新扫码变速器条码!') } else { this.$message.error('操作失败,请联系管理员!') } }) ``` ## 数据库读取操作 如需直接查询 SQL Server 数据库,可使用 SQLSERVER MCP 工具: - 查询表结构:mcp_SqlServer-tools_get_table_structure - 执行 SQL 查询:mcp_SqlServer-tools_query - 连接信息:请查看项目 SQLBASE 配置 ## 增删改操作规范 业务层存储过程返回格式必须统一: ```sql -- 成功返回 SELECT 1 as result, '' as msg -- 失败返回 SELECT 2 as result, '失败消息提示' as msg ``` 本项目数据库连接地址是 IP:127.0.0.1 端口:1433 账号:sa 密码:126.com 数据库名:MESBasicDB_PZ126