Bir SQL Server 2008 R2 tablosundan Müşteri Hizmet biletinin ("Not") bir yetkisini ("Not") çekmeye çalışıyorum, daha sonra bir duyarlılık analizi çalıştırın ve "Sentiment" öğesini güncelleştirmek için bu analizi kullanın Aynı tablo içindeki alan. İşte tablo alanlarda daha fazla bilgi var: Ben aşağıdaki kodu çalıştırdığınızda, bu hatayı alıyorumPyODBC Güncelleştirmesi - "Bir Sorgu Yok"
TicketNoteID(PK, int, not null)
TicketID (FK, int, not null)
UserName (varchar(20), not null)
Note (varchar(max), not null)
Author (varchar(50), not null)
isExternal (bit, null)
DateTimeCreated (datetime, not null)
NoteID (int, null)
DateTimeUploaded (datetime, null)
Error (bit, null)
ErrorMessage (varchar(max), null)
Sentiment (float, null)
: Bu aynı hata hakkında diğer gönderdikten sonra kodumu modelledik
pyodbc.ProgrammingError: No results. Previous SQL was not a query.
ama Sorunu çözecek hiçbir şey bulamıyorum. İşte kod:
import pyodbc
from textblob import TextBlob
cnxn = pyodbc.connect(r'DRIVER={SQL Server Native Client 11.0};SERVER=...')
cur = cnxn.cursor()
sql = """
SELECT Note
FROM dbo.DSDTicketNotes
where Sentiment is NULL
"""
rows = cur.execute(sql)
for row in rows:
note = cur.fetchone()
row = str(note)
blob = TextBlob(row)
sent = blob.sentiment.polarity
sentUpdate = cur.execute("UPDATE dbo.DSDTicketNotes SET Sentiment = ?", sent)
cur.close()
cnxn.close()
Herhangi bir yardım için teşekkür ederiz!
UPDATE ifadesi bir WHERE deyimine ihtiyaç duyuyor gibi görünüyor, aksi halde her yineleme için tüm satırları güncelleştiriyor. – Bryan