18. marts 2003 - 15:20
Der er
3 kommentarer og
1 løsning
XMl Data skal gemmes i sqlDatabase fra asp.net/c#
Jeg har gemt mit data i et dataset og nu vil jeg gerne sende dette over i min database. Jeg har dog 2 problemer, det første er hvordan sikrer jeg mig at mit
kundeNr(stigende int værdi) gemmes unikt uden der er andre der samtidigt tilgår databasen og bruger den samme værdi? det andet problem er at jeg har gemt mit DataSet som en XML-fil og vil nu gerne gemme denne i databasen... Hvad gør jeg????
På forhånd tak for hjælpen!!!
18. marts 2003 - 17:46
#1
public int Create(DataSet dataSet)
{
SqlParameter[] parameters =
{
new SqlParameter("@Fornavn", SqlDbType.VarChar,30),
new SqlParameter("@Efternavn", SqlDbType.VarChar,30),
new SqlParameter("@BrugerID", SqlDbType.Int, 4)
}
parameters[0].Value = dataSet.Tables[0].Rows[0]["Fornavn"];
parameters[1].Value = dataSet.Tables[0].Rows[0]["Efternavn"];
parameters[2].Direction = ParameterDirection.Output;
try
{
RunProcedure("sp_VBJ_OpretAnsoger", parameters, out rowsAffected);
}
catch ( SqlException e)
{}
return (int)parameters[2].Value;
}
protected int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected)
{
int result;
Connection.Open();
SqlCommand command = BuildIntCommand(storedProcName, parameters);
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["ReturnValue"].Value;
Connection.Close();
return result;
}
Og så lige en lille stored procedure
CREATE PROCEDURE sp_VBJ_OpretAnsoger
@Fornavn varchar(30),
@Efternavn varchar(30),
@BrugerID int output
AS
INSERT INTO Bruger(Fornavn, Efternavn)
VALUES(@Fornavn, @Efternavn)
SET @BrugerID = @@IDENTITY
RETURN 1
GO
Også har jeg sørget for at brugerID er primærnøgle og Identity
Ved ikke helt om den selv låser tabellen, men har ikke kunne finde en anden løsning.
18. marts 2003 - 17:47
#2
ups, skulle jo have været et svar :-)
Men kan du ikke lige kontakte mig og fortælle mig hvordan du læste data ind i et tomt DataSet