제목 : 아래질문에 약간 추가요..;
글번호:
|
|
759
|
작성자:
|
|
남윤민
|
작성일:
|
|
2009/05/15 오전 11:29:00
|
조회수:
|
|
3588
|
아래 답변감사합니다.
오늘오전까지 살펴본결과 sql구문이 문제더라구요.
Select Passwrod from Basic Where Num=14"; 이런식으로 직접 번호를 써주니까
문제없이 실행이 됐었습니다.
그래서 저장프로시저로 바꿔보려고 다시 작업을 했는데 지금 @Num값을 분명히 파라미터에 추가시켜놨음에도
'Password' 프로시저에 필요한 '@Num' 매개 변수가 제공되지 않았습니다.
이런메시지가 뜨네요.. 어디가 문젠지 참-.-;;
답변좀 부탁드립니다.
using System;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class BasicCS_Delete : System.Web.UI.Page
{
protected string strNum;
protected void Page_Load(object sender, EventArgs e)
{
string strNum = Request.QueryString["Num"];
this.lblNum.Text = strNum;
if (strNum == null)
{
Response.Redirect("./List.aspx");
}
}
protected void btnDelete_Click(object sender, EventArgs e)
{
if (IsPassword())
{
this.lblError.Text = "ㅎㅎ";
}
else
{
this.lblError.Text = "비밀번호가 틀립니다.";
}
}
private bool IsPassword()
{
string strsql = "Password";
SqlConnection objcon = new SqlConnection();
objcon.ConnectionString = ConfigurationManager.AppSettings["ConnectionString"];
objcon.Open();
SqlCommand objcmd = new SqlCommand();
objcmd.Connection = objcon;
objcmd.CommandText = strsql;
objcmd.CommandType = CommandType.StoredProcedure;
objcmd.Parameters.Add("@Num", SqlDbType.Int);
objcmd.Parameters["@Num"].Value = strNum;
string strpwd = (string)objcmd.ExecuteScalar();
bool blnFlag = false;
if (this.txtPassword.Text.ToString() == strpwd)
{
blnFlag = true;
}
else
{
blnFlag = false;
}
return blnFlag;
}
//저장프로시저 구문
//CREATE PROCEDURE dbo.Password
//@Num int
//as
//Select Password from Basic Where Num=@Num
//GO
}
|
Administrator
2009-05-15 오후 4:29:30
|
Password는 키워드입니다.
저장 프로시저 이름으로 사용하시면 안됩니다.
이 부분을 바꿔보세요...
제가 저장 프로시저명에
Add, Get, Modify와 같은 접두어를 붙이는 이유입니다. 충돌방지...
|
|
|
yngwiej00
2009-05-15 오후 5:16:07
|
감사합니다 완전히 해결되었네요 ㅋ
|
|
|
|