Well...
Det beror på att @@IDENTITY bara returnerar värden för vanlig räknare.
Du får lägga till ett vanligt räknarfält i tabellen, hämta @@IDENTITY, och med hjälp av den hämta ut ditt replikerings-ID.
Mvh
2 svar · 260 visningar · startad av icaaq
Tjenare.
Jag brukar använda en liknanade kodsnutt som den följande när jag tar fram senast insatta Id. Nu har jag satt mitt Id fält till Replikations Id och då kan jag inte få till det.... vad har jag gjort för fel?
[red]
public string RunQuerys(string SqlStatement)
{
string identity;
OleDbConnection con = Logic.Connection();
try
{
OleDbCommand Command = new OleDbCommand(SqlStatement, con);
Command.ExecuteNonQuery();
Command.CommandText = "SELECT @@IDENTITY";
OleDbDataReader dr = Command.ExecuteReader();
if(dr.Read())
{
identity = Convert.ToString(dr[0]);
}
else
{
identity = string.Empty;
}
}
finally
{
con.Close();
}
return identity;
}
[/red]
Vad som är konstigt är att jag får ut 0 ??
Jag kan ju tilläga att SqlStatementet som innehåller en Insert funkar...
mv icaaq
Well...
Det beror på att @@IDENTITY bara returnerar värden för vanlig räknare.
Du får lägga till ett vanligt räknarfält i tabellen, hämta @@IDENTITY, och med hjälp av den hämta ut ditt replikerings-ID.
Mvh