레코드를 삽입, 업데이트 및 삭제하는 저장 프로 시저를 사용하며 프로 시저를 실행하거나 호출하는 데 LINQ를 사용합니다. 제출 버튼을 클릭하면 업데이트 절차가 실행되었지만 테이블에 변경 사항이 없습니다! fname_txt.text 대신 "Jack"과 같은 값을 전달하면 제대로 작동하고 업데이트됩니다. 텍스트 상자 개체와 따옴표로 묶인 값 사이에 어떤 차이점이 있는지 알 수 없습니까?명령이 올바르지 만 테이블이 업데이트되지 않았습니다.
protected void submit_Click(object sender, EventArgs e)
{
try
{
ZobLinqDataContext db = new ZobLinqDataContext();
string pasword = CryptorEngine.Encrypt(pass_txt.Text, true);
long uid = Convert.ToInt64(Request["uid"]);
db.pUpZDBUser(uid,
uname_txt.Text,
pasword,
fname_txt.Text.Trim(),
lname_txt.Text.Trim(),
modir.Checked,
voting.Checked,
Convert.ToInt32(Zarib_txt.Text),
false
);
db.SubmitChanges();
Response.Write(uname_txt);
}
finally
{
Session["sub"] = "1";
}
}
이 업데이트 PROC은 다음과 같습니다 : 여기 코드입니다
USE [ZOBDB]
GO
/****** Object: StoredProcedure [dbo].[pUpZDBUser] Script Date: 04/11/2012 15:17:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[pUpZDBUser]
@UID bigint,
@Uname nvarchar(100),
@Pass nvarchar(100),
@fname nvarchar(50),
@lname nvarchar(50),
@KU bit,
@KV bit,
@ZribV int,
@del bit
As
BEGIN TRANSACTION UpUser
Set NOCOUNT ON
UPDATE Users SET
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
del[email protected]
where ([email protected])
--RollBack if Err
IF @@ERROR != 0 and @@ROWCOUNT != 1
BEGIN
declare @msg nvarchar(30)
set @msg = ' error '[email protected]
ROLLBACK
RAISERROR(@msg,16,1)
RETURN
END
COMMIT TRANSACTION UpUser
RETURN
pUpZDBUser 메서드와 연결된 SQL PROC를 컨텍스트에 게시 할 수 있습니까? – StuartLC
이것은 ASP Classic이 아닌 .NET입니다. –
응답을 위해 proc, tnx를 추가했습니다. @nonnb – Behzad