Thread Transaction in C++ MySQL (4 answers)
Opened by skontox at 2004-02-29 23:09

skontox
 2004-02-29 23:16
#10920 #10920
User since
2003-08-06
193 Artikel
BenutzerIn
[default_avatar]
Nachtrag hier mal ein Auszug aus einem Beispiel für ein Statement das ich losschicke:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
sstr << "UPDATE T_Stock SET Stock=" << amount << " WHERE Article_ID=" << artid << " and Storehouse_ID=" << sthid << ends;
strvar = sstr.str();

//convert string to char*
req_book = new char[strvar.size() + 1];
strcpy(req_book, strvar.c_str());

// free the stringstream object
sstr.str("");
sstr.clear();

state=mysql_query(mysqlconn, req_book); // send SQL-statement to the MYSQL-Server

...



Nun will ich aber soetwas als Transaktion starten, aber wie soll ich das genau machen, alles einzel, ist dann aber noch die Transaktion gewährleistet?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
####### Book goods receipt #######

$artid = ???; // value for Article_ID
$amount = ???; // value for Amount
$sthid = ???; // value for Storehouse_ID

SET AUTOCOMMIT = 0;
LOCK TABLES T_Stock WRITE, T_Stocklist WRITE, T_Storehouse WRITE;

SELECT @stock:=Stock FROM T_Stock WHERE Storehouse_ID = $sthid and Article_ID = $artid;
SELECT @tstock:=Total_Stock FROM T_Stocklist WHERE Article_ID = $artid;

UPDATE T_Stock SET Stock =@stock+$amount WHERE Storehouse_ID = $sthid and Article_ID = $artid;
UPDATE T_Stocklist SET Total_Stock =@tstock+$amount WHERE Article_ID=$artid;

UNLOCK TABLES;
COMMIT;



Gruß skontox

View full thread Transaction in C++ MySQL