Kann mir bitte jemand helfen, zu verstehen, wie man den Feldwert in einem sql-Ergebnis auswählt? Ich möchte diesen Wert verwenden, um eine neue Abfrage auszuführen.Daten aus SQL abrufen Ergebnis
Ich verwende Python, um HTML, Apache und SQL-Server zu verbinden, um eine Website zu erstellen, die SQL-Abfrage ausführen und Ergebnisse anzeigen wird. Sobald ich das Ergebnis erhalten habe, möchte ich den Wert einer Spalte in einer neuen SQL-Abfrage verwenden. Gibt es eine Möglichkeit, das zu tun, anstatt den Wert in einem Formular manuell einzugeben?
Code1: Der folgende Code führt einen Datenbankaufruf durch, der die Ergebnisse basierend auf der SQL-Abfrage anzeigt.
# prepare a cursor object using cursor() method
cursor = db1.cursor()
SQLQuery = ("SELECT I.OpinionID,
I.TimeStamp,
I.Strategy,
I.ExpectedTradingPrice,
I.ExpectedDate,
I.CPAMAnalyst,
I.Conviction,
I.Status,
N.DebtTicker,
N.InstrumentType,
N.ExpectedMaturity,
N.OrderSize,
N.Allocation
From [CpamTestAugustTestSteve].[dbo].[NewIssueOpinion] I
INNER JOIN [CpamTestAugustTestSteve].[dbo].[NewIssue] N ON I.NewIssueID = N.NewIssueID
WHERE N.ExpectedIssueDate >= GetDate()-30
AND I.Status = 'Suggested' AND I.Active = 1;")
#Execute the SQL command
cursor.execute(SQLQuery)
#Fetch all the rows in a list of lists.
results=cursor.fetchall()
y = len(results)
print "<br> <br>"
print "<body2>"
print """<form action="http://localhost/NewIssueStatusUpdate.py" method="post">
<div> <input type="Submit" class= "submitbutton" value="Submit" /> </div> <br> <br>
</form>"""
if not cursor.rowcount:
print "<b> <mark> NO RECORDS FOUND!!</mark> </b>"
else:
print "<TABLE>"
print "<tablebody>"
print"<tr>"
print "<tr><th>S.No</th><th>OpinionID</th> <th>TimeStamp</th> <th>Strategy</th> <th>ExpectedTradingPrice</th> <th>ExpectedDate</th> <th>CPAMAnalyst</th> <th>Conviction</th> <th>Status</th> <th>DebtTicker</th> <th>InstrumentType</th> <th>ExpectedMaturity</th> <th>OrderSize</th> <th>Allocation</th><th>New Status</th>"
for p in range(y):
print "<tr><td>%s</td>" %(p+1)
for q in range(len(results[p])):
r= results[p][q]
print "<td> %s </td>" % (r)
print "<td><select id='statusSelect' onchange='myChangeHandler(this)'><option value='Suggested'>Select</option><option value='accept'>Accept</option><option value='reject'>Reject</option><option value='terminated'>Terminated</option></select></td>"
print "</TABLE>"
from tabulate import tabulate
Ich habe eine benutzerdefinierte Spalte im Ergebnis über ‚Neuen Status‘, in dem wir den neuen Status auswählen können, die wir den Datensatz zugeordnet werden sollen.
Ich möchte einen Code schreiben, mit dem die Datenbank aktualisiert werden kann. Die Abfrage ist:
"UPDATE NewIssueOpinion " & _
"SET Status = '" & Status & "' " & _ #Getting Status using getformvalue.
"WHERE OpinionID = " & OpinionID & ";" #How can we select the Opinion ID value from the result displayed from code1.
AKTUALISIERT Code:
# prepare a cursor object using cursor() method
cursor = db1.cursor()
SQLQuery = ("SELECT I.OpinionID,
I.TimeStamp,
I.Strategy,
I.ExpectedTradingPrice,
I.ExpectedDate,
I.CPAMAnalyst,
I.Conviction,
I.Status,
N.DebtTicker,
N.InstrumentType,
N.ExpectedMaturity,
N.OrderSize,
N.Allocation
From [CpamTestAugustTestSteve].[dbo].[NewIssueOpinion] I
INNER JOIN [CpamTestAugustTestSteve].[dbo].[NewIssue] N ON I.NewIssueID = N.NewIssueID
WHERE N.ExpectedIssueDate >= GetDate()-30
AND I.Status = 'Suggested' AND I.Active = 1;")
#Execute the SQL command
cursor.execute(SQLQuery)
#Fetch all the rows in a list of lists.
results=cursor.fetchall()
y = len(results)
#define function
def Review():
cursor.close()
cursor = db1.cursor()
for result in results:
my_OpinionID = result[1]
my_StatusID = result[14]
cursor.execute('UPDATE [CpamTestAugustTestSteve].[dbo].[NewIssueOpinion] SET Status = ? WHERE OpinionID = ?', (my_StatusID, my_OpinionID))
db1.commit()
cursor.close()
db1.close()
location.reload()
print "<br> <br>"
print "<body2>"
print "<form method='post' onclick='return Review();'>"
print "<div> <input type='Submit' class= 'submitbutton' value='Submit' /> </div> <br> <br>"
print "</form>"
if not cursor.rowcount:
print "<b> <mark> NO RECORDS FOUND!!</mark> </b>"
else:
print "<TABLE>"
print "<tablebody>"
print"<tr>"
print "<tr><th>S.No</th><th>OpinionID</th> <th>TimeStamp</th> <th>Strategy</th> <th>ExpectedTradingPrice</th> <th>ExpectedDate</th> <th>CPAMAnalyst</th> <th>Conviction</th> <th>Status</th> <th>DebtTicker</th> <th>InstrumentType</th> <th>ExpectedMaturity</th> <th>OrderSize</th> <th>Allocation</th><th>New Status</th>"
for p in range(y):
print "<tr><td>%s</td>" %(p+1)
for q in range(len(results[p])):
r= results[p][q]
print "<td> %s </td>" % (r)
print "<td><select id='statusSelect'><option value='Suggested'>Select</option><option value='Accepted'>Accept</option><option value='rejected'>Reject</option><option value='terminated'>Terminated</option></select></td>"
print "</TABLE>"
from tabulate import tabulate
print "</body2>"
db1.commit()
die Seite neu zu laden, wenn ich den Absenden-Button klicken, aber die Datenbank wird nicht aktualisiert. Nicht sicher, was schief gelaufen ist!
Hi Addy. Ich weiß, dass du hier viele Leute finden wirst, die anderen Menschen in Not helfen wollen, aber alle sind zu faul, um ein ganzes Programm für dich zu schreiben. Wenn Sie Ihren Beitrag bearbeiten, indem Sie den Code, den Sie bisher verwendet haben, und die Teile, die problematisch oder fehlen, kann es anders sein (und die Downvotes werden aufhören) –
Vielen Dank Ettore, :) Ich habe die Frage zu aktualisieren der Code. Ich schätze Ihre Antwort sehr, um mir zu helfen, bessere Hilfe/Antwort zu bekommen. Ich bin auch neu bei Stackoverflow. Bis jetzt habe ich es nur verwendet, um bestehende Fragen zu recherchieren, in letzter Zeit habe ich begonnen, Fragen zu stellen. Finde immer noch den besten Weg, das zu tun. – AddyB
Die Leser wollen hier helfen, aber für eine Gemeinschaft neu zu sein, ist offensichtlich keine Entschuldigung dafür, Freiwillige um freie Arbeit zu bitten. Es ist wichtig zu verstehen, dass etwas nur für das Poster und für niemanden wichtig ist. – halfer