geben I keinen Primärschlüsselwert von einer Form in eine andere Form übergeben kann, und ich bin nicht mit GridIch kann einen Primärschlüsselwert von einer Form in eine andere Form in asp.net
protected void btnRegister_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand("SP_INSERT_DriverRegistration", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@DriverReg_id", HF_Reg_Id.Value);
cmd.Parameters.Add("@Fname", Fname.Text);
cmd.Parameters.Add("@Lname", Lname.Text);
cmd.Parameters.Add("@Email", Email1.Text);
cmd.Parameters.Add("@Password", Password.Text);
cmd.Parameters.Add("@Gender", Gender.Text);
cmd.Parameters.Add("@Mobile", Mobile.Text);
cmd.Parameters.Add("@CNIC", CNIC.Text);
cmd.Parameters.Add("@Address", Address.Text);
cmd.Parameters.Add("@DrivingExperience", DrivingExperience.Text);
cmd.Parameters.Add("@license", license.Text);
cmd.Parameters.Add("@Route", ddlRoute.SelectedItem.Text);
con.Open();
string result = cmd.ExecuteNonQuery().ToString();
con.Close();
string id = HF_Reg_Id.Value.ToString();
Response.Redirect("VanRegister.aspx?id= "+id);
}
Ich habe 2 Tabellen DriverRegistration
und VanRegistration
. Wenn der Fahrer das Fahrerregistrierungsformular ausfüllt und es einreicht, öffnet sich das Van-Registrierungsformular und in VanRegistration
wird die Tabelle DriverReg_id
eingefügt. Deshalb möchte ich DriverReg_id
über Abfragezeichenfolge übergeben.
Stored Procedure von DriverRegistration
Tabelle
ALTER PROC [dbo].[SP_INSERT_DriverRegistration]
@DriverReg_id as int,
@Fname varchar(50),
@Lname varchar(50),
@Email varchar(50),
@Password varchar(50),
@Gender varchar(50),
@Mobile varchar(50),
@CNIC varchar(50),
@Address varchar(50),
@DrivingExperience varchar(50),
@license varchar(50),
@Route varchar(50)
AS BEGIN
IF @DriverReg_id = -1 --FOR INSERTION IF CONDITION TRUE
IF EXISTS(SELECT TOP 1 DriverReg_id
FROM DriverRegistration
WHERE Fname = @Fname AND Mobile = @Mobile)
BEGIN
SELECT -1
END
ELSE BEGIN
INSERT INTO DriverRegistration(Fname, Lname, Email, Password, Gender, Mobile, CNIC, Address, DrivingExperience, license, Route, CreatedOn, CreatedBy, UpdatedBy, UpdatedOn, IsActive, IsVerified)
VALUES(@Fname, @Lname, @Email, @Password, @Gender, @Mobile, @CNIC, @Address, @DrivingExperience, @license, @Route, GETDATE(), 1, null, null, 1, 0)
SELECT SCOPE_IDENTITY()
END
END
ELSE BEGIN
UPDATE DriverRegistration
SET Fname = @Fname, Lname = @Lname, Email = @Email,
Password = @Password, Gender = @Gender,
Mobile = @Mobile, CNIC = @CNIC,
Address = @Address, DrivingExperience = @DrivingExperience,
license = @license, Route = @Route,
UpdatedOn = GETDATE(), UpdatedBy = 1
WHERE
DriverReg_id = @DriverReg_id
END
END
ich will id in van Registrierungsseite public partial class VanRegister weitergeben müssen: System.Web.UI.Page { String conString = System.Configuration.ConfigurationManager.ConnectionStrings [ "myConstring"] ToString();. protected void Page_Load (object sender, EventArgs e) { if (! IsPostBack) { if (Request.QueryString.Count> 0) { HF_Reg_Id.Value = Request.QueryString [ "id"]. ToString (); // HF_DriverReg_id.Value = Request.QueryString ["DriverReg_id"]. ToString();}}} –
Beachten Sie, dass das Präfix 'SP_' zur Bezeichnung von System Stored Procs verwendet wird und in Anwendungsprozeduren vermieden werden sollte (https: // msdn.microsoft.com/en-us/library/ms187926.aspx). Verwenden Sie ein anderes Präfix (oder gar kein Präfix) und befolgen Sie die Best Practices für schemafähige Objekte, um die Leistung zu maximieren. –
Sie haben hier eine unvollständige Frage. Sie haben das Verhalten nicht spezifisch genug beschrieben. Du sagst einfach, du kannst "nicht bestehen". Erfolgt die Weiterleitung? Sieht die URL korrekt aus? Welcher Code auf der Empfangsseite ist für das Abrufen der ID aus der Abfragezeichenfolge verantwortlich? – mason