aleborgMedlem sedan jan. 20013 341 inlägg Hur gör jag för att plocka ut den nyss inlagda postens ID i C#/MySQL?
har provat med det här:
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmdS = new OdbcCommand(contactsSqlStr.ToString(), conn);
OdbcCommand cmdT = new OdbcCommand("select last_insert_id() as weee", conn);
conn.Open();
cmdS.ExecuteReader();
OdbcDataReader rS = cmdT.ExecuteReader();
string cid= rS["weee"].ToString();
rS3.Close();
conn.Close();
Response.Write(cid);
Men det går inte att köra två commandon på en connection :(
icaaqMedlem sedan okt. 20005 273 inlägg Så här har jag gjort:
[red]
private void btn_submit_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
string OrderNumber = "";
string SqlStatement = "INSERT INTO customers(firstname, lastname, phone)VALUES('"+ firstname.Text +"', '"+ lastname.Text +"', '"+ phone.Text +"')";
string SqlStatementToRetrive = "SELECT @@IDENTITY as pkid";
OdbcConnection Connection = new OdbcConnection("driver={MySQL ODBC 3.51 Driver};server=localhost;database=catering;uid=root;pwd=sa");
try
{
Connection.Open();
OdbcCommand Command = new OdbcCommand(SqlStatement, Connection);
Command.CommandType = CommandType.Text;
Command.ExecuteNonQuery();
Command.CommandText = SqlStatementToRetrive;
OdbcDataReader DataReader = Command.ExecuteReader();
if(DataReader.Read())
{
OrderNumber = DataReader["pkid"].ToString();
}
}
finally
{
Connection.Close();
}[/red]
Mvh icaaq
PatrikBMedlem sedan mars 20002 836 inlägg Testa med denna kod:
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmdS = new OdbcCommand(contactsSqlStr.ToString(), conn);
OdbcCommand cmdT = new OdbcCommand("select last_insert_id() as weee [b]FROM MyTable[/b]", conn);
conn.Open();
cmdS.ExecuteReader();
// OdbcDataReader rS = cmdT.ExecuteReader();
// string cid= rS["weee"].ToString();
int cid = cmdT.ExecuteScalar()
// rS3.Close();
conn.Close();
Response.Write(cid.ToString);
Eftersom det endast är ett värde som kommer tillbaka från last_insert_id() så är det bättre att köra ExecuteScalar än att skapa en DataReader för endamålet
cya,
/PatrikB
icaaqMedlem sedan okt. 20005 273 inlägg japp du har så rätt så....tack PatrikB
Mvh icaaq