第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

pyodbc 過程執(zhí)行失敗

pyodbc 過程執(zhí)行失敗

有只小跳蛙 2023-03-08 10:39:39
我在 SQL Server (SSMS Studio) 上有一個(gè)存儲(chǔ)過程這是過程:CREATE PROCEDURE  [dbo].[SELECT_main_program] (     @name varchar(255))ASBEGIN    SELECT ed_programms.showing_name, ed_programms.scripts, ed_programms.styles, ed_programms.infos, ed_menu.*    FROM ed_programms    JOIN ed_menu    ON ed_menu.id_program = ed_programms.id AND ed_menu.hidden = 0    WHERE ed_programms.name = @name AND ed_programms.active = 1;END因此,如果我調(diào)用此過程,pyodbc 將返回正確的行。但是如果我調(diào)用這個(gè)過程就會(huì)出現(xiàn)錯(cuò)誤。CREATE PROCEDURE  [dbo].[INSERT_ed_menu_program] (    @name varchar(255),    @showing_name varchar(255),    @infos varchar(255),    @scripts varchar(500),    @styles varchar(500))ASBEGIN    INSERT INTO ed_programms    (name, showing_name, infos, scripts, styles, active)    VALUES(@name, @showing_name, @infos, @scripts, @styles, 1)END這是我的 python 代碼。# Create the procedure params.params = ", ".join(['?' for i, row in enumerate(list(call[1]))])variables = ", ".join([row for i, row in enumerate(list(call[1]))])sql = "EXEC {sp} {prms}".format(sp=call[0], prms=params)# Check if is an INSERT, UPDATE or DELETE.if call[0][0].upper() == "I" or call[0][0].upper() == "U" or call[0][0].upper() == "D":    return stmt.execute(sql, [variables]).commit()else:    return stmt.execute(sql, [variables]).fetchall()該變量call是一個(gè)列表,包含過程的名稱和參數(shù)。所以問題是,如果我執(zhí)行 select proc,為什么我的代碼可以工作。但是如果我執(zhí)行 insert proc 不工作?錯(cuò)誤是INSERT_ed_menu_program The SQL contains 5 parameter markers but 1 parameters were supplied HY000更新 2:打印的 SQL 是sql = EXEC INSERT_ed_menu_program ?, ?, ?, ?, ?variables = my_program, Mein Test 01, test 01 desc, ,
查看完整描述

1 回答

?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊

所以最后我有一個(gè)解決方案。

variables這是我的解決方案:我已經(jīng)刪除了MSSQL 中不支持的代碼部分。我將列表直接交給variables執(zhí)行語句。

像這樣:

return stmt.execute(sql, call[1]).commit()


查看完整回答
反對(duì) 回復(fù) 2023-03-08
  • 1 回答
  • 0 關(guān)注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)