<font style="font-size:10pt">
<xmp>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Configuration;
using System.Data.OleDb;
namespace etax_web.admin
{
/// <summary>
/// login_act에 대한 요약 설명입니다.
/// </summary>
public class login_act : System.Web.UI.Page
{
protected OleDbConnection Con; //디비연결자
protected OleDbCommand Cmd; //레코드 연결자
protected string SEQ;
protected string M_LEVEL;
protected string M_NAME;
protected string M_EMAIL;
protected string M_USECHK;
protected string logMsg;
protected string M_ID;
private void Page_Load(object sender, System.EventArgs e)
{
string aID = Request.Params["aID"].ToString();
string aPwd = Request.Params["aPwd"].ToString();
string ConnectStr = ConfigurationSettings.AppSettings["ConnectionString_MSSQL"]; //web.config 파일에서 DB세팅값 가져오기
Con = new OleDbConnection(ConnectStr);
Cmd = new OleDbCommand();
Cmd.Connection = Con;
Cmd.Parameters.Add("@aID",OleDbType.VarChar,20);
Cmd.Parameters.Add("@aPwd",OleDbType.VarChar,20);
Cmd.Parameters["@aID"].Value = aID;
Cmd.Parameters["@aPwd"].Value = aPwd;
try
{
Con.Open();
Cmd.CommandText = "Select SEQ,M_LEVEL,M_NAME,M_EMAIL,M_USECHK,M_ID From TBL_MANAGER Where M_ID = @aID AND M_PW = @aPwd";
Cmd.CommandType = CommandType.Text;
OleDbDataReader reader = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
if(reader.Read())
{
SEQ = reader["SEQ"].ToString();
M_LEVEL = reader["M_LEVEL"].ToString();
M_NAME = reader["M_NAME"].ToString();
M_EMAIL = reader["M_EMAIL"].ToString();
M_USECHK = reader["M_USECHK"].ToString();
if(M_USECHK=="Y")
{
logMsg = "OK";
}
else
{
logMsg = "사용이 중지된 아이디 입니다.관리자에게 문의하세요.";
}
}
else
{
logMsg = "로그인 정보가 없습니다.다시 입력하세요.";
}
Cmd = null;
Con = null;
}
catch(Exception ex)
{
string msg = ex.Message;
msg = msg.Replace("'","");
string script = "<script>";
script += "alert('" + msg + "');";
script += "</script>";
this.RegisterClientScriptBlock("errorChk",script);
}
finally
{
if(logMsg=="OK")
{
Response.Cookies["KTRM"]["ADM_SEQ"] = SEQ;
Response.Cookies["KTRM"]["ADM_LEVEL"] = M_LEVEL;
Response.Cookies["KTRM"]["ADM_NAME"] = M_NAME;
Response.Cookies["KTRM"]["ADM_EMAIL"] = M_EMAIL;
Response.Cookies["KTRM"]["ADM_ID"] = M_ID;
Response.Redirect("main.aspx");
}
else
{
string script2 = "<script>";
script2 += "alert('" + logMsg + "');";
script2 += "location.href='index.aspx';";
script2 += "</script>";
this.RegisterClientScriptBlock("loginChk",script2);
}
}
}
}
}
</xmp>
</font>
@aID 변수를 선언 하라네요..
SqlDb타입으로 할때는 잘되는데.. OleDb타입으로 했드만 에러가 빡~ㅠ.ㅠ
Cmd.Parameters.Add("@aID",OleDbType.VarChar,20);
Cmd.Parameters.Add("@aPwd",OleDbType.VarChar,20);
Cmd.Parameters["@aID"].Value = aID;
Cmd.Parameters["@aPwd"].Value = aPwd;
위에처럼 하는 소스는 OleDb타입으로 하면 안되는 소스인지요??
즉..쿼리를 @aID로 안하고 +aID+ 로 하믄 잘되요..
지금 @aID로 비교안하고 변수로 직접 넣어서 하니 잘되서 쓰고는 있습니다.
글구 초보라그런데요.. 제소스에 문제점은 없나요??
충고 해주시면 감사하겠습니다.
카페 게시글
ASP.NET 질문
소스좀 봐주세욤.. SqlDb타입으로 했을땐 잘됬는데... ㅠ.ㅠ
유현준
추천 0
조회 50
05.12.23 12:08
댓글 4
북마크
번역하기
공유하기
기능 더보기
다음검색
첫댓글 OleDbType 로 저는 선언해서 작업해 본적은 없지만, OleDbType로 선언해서 작업시 Cmd.Parameters.Add("@aID",OleDbType.VarChar,20); 에서 자리수인 "20"을 제거해 보심이 어떨런지요. = > Cmd.Parameters.Add("@aID",OleDbType.VarChar); 이렇게요...전부다..~~
지워도 안되내욤... 그냥 직접변수 받아서 처리하고 있어요.. ㅡㅡ; 어쨋든 감사~
commandText선언을 먼저하고 파라미터 Add하면 안되나요??
mari 님 올만이에요. ^__^