asp.net 및 asp_javascript 기술에서 ACCESS의 매개변수화된 쿼리

WBOY
풀어 주다: 2016-05-16 19:03:48
원래의
1241명이 탐색했습니다.

오늘은 ACCESS 매개변수 쿼리 사용에 대한 몇 가지 방법과 경험을 공유하겠습니다.
제가 잘못 작성한 경우 전문가들이 조언을 해줄 수 있기를 바랍니다.

ASP.NET은 OleDbCommand의 새로운 OleDbParameter를 사용하여 매개변수 쿼리를 생성합니다.
ASP는 Command의 CreateParameter 메서드를 사용하여 매개변수화된 쿼리를 생성합니다.
(SQL 저장 프로시저 쿼리도 이 방법을 사용하여 생성됩니다.)

ASP.NET C# 구문
OleDbParameter parm = new OleDbParameter(Name, Type, Direction, Size, Value);
(실제로는 7개의 오버로드가 있으며 VS.net에서 볼 수 있습니다.)
Parameter
Name은 선택 사항입니다. Parameter 개체 이름을 나타내는 문자열입니다.
선택 사항인 긴 정수 값 유형은 Parameter 객체 데이터 유형을 지정합니다.
방향 선택 사항, 긴 정수 값, 매개변수 개체 유형 지정. .
선택적인 크기, 긴 정수 값으로, 매개변수 값의 최대 길이(문자 또는 바이트)를 지정합니다.
값은 선택 사항이며 변형 유형이며 Parameter 개체의 값을 지정합니다.
다음은 뉴스 테이블에서 tsing이 발행한 모든 뉴스를 조회하는 예입니다
코드를 복사하세요 코드는 다음과 같습니다. 다음:

sql="select * from newss where username=? order by id"
//쿼리 조건은 모두
OleDbConnection conn = new OleDbConnection( connString);
OleDbCommand cmd = new OleDbCommand(sql,conn);
OleDbParameter parm = new OleDbParameter("temp",OleDbType.VarChar, 50); //temp는 Parameter 객체입니다. 임의로 정의하면 OleDbType.VarChar는 길이 50의 문자열로 지정됩니다.
parm.Direction = ParameterDirection.Input;
//유형 입력 매개변수 지정
cmd.Parameters.Add(parm); > cmd.Parameters["temp"].Value = " tsing";
//cmd.Parameters[0]
conn.Open()
cmd로 작성할 수도 있는 tsing을 쿼리합니다. ExecuteReader();


ASP VBSCRIPT 구문

설정 매개변수 = command.CreateParameter(Name, Type, Direction, Size, Value)
매개변수는 위와 동일합니다
다음은 뉴스 테이블에서 tsing이 발행한 모든 뉴스를 조회하는 예제입니다
--- ------------ ------------ -


set conn = Server.CreateObject("Adodb.Connection ")
conn.ConnectionString = connString
conn.open()
set mycmd = Server.CreateObject("ADODB.Command")
mycmd.ActiveConnection=conn
mycmd.CommandText=sql
mycmd.Prepared = true
set mypar = mycmd.CreateParameter("temp", 129,1,50,"tsing")
mycmd.Parameters.Append mypar
set myrs = mycmd.Execute


기본적으로 위와 동일하지만 차이점은 asp 매개변수를 다르게 표현합니다
129는 adChar, 1은 입력 매개변수를 나타냅니다(실제로 기본값)
MICROSOFT의 ADOVB.Inc를 참조하세요:



코드 복사 코드는 다음과 같습니다.

 '-- ParameterDirectionEnum 값 ----  
 Const adParamUnknown = 0  
 Const adParamInput = 1  
 Const adParamOutput = 2  
 Const adParamInputOutput = 3 
 상수 adParamReturnValue = 4  
'---- DataTypeEnum 값 ----  
 Const adEmpty = 0  
 Const adTinyInt = 16  
 Const adSmallInt = 2  
 Const adInteger = 3  
 Const adBig 정수 = 20  
 Const adUnsignedTinyInt = 17  
 Const adUnsignedSmallInt = 18  
 Const adUnsignedInt = 19  
 Const adUnsignedBigInt = 21  
 Const adDouble = 5  
 Const adCurrency = 6
 Const adDecimal = 14  
 Const adNumeric = 131  
 Const adBoolean = 11  
 Const adError = 10  
 Const adUserDefined = 132  
 Const adVariant = 12  
 Const adIDispatch = 9  
 Const adIUnknown = 13  
 Const adGUID = 72  
 Const adDate = 7  
 Const adDBDate = 133  
 Const adDBTime = 134  5  
 상수 adBSTR = 8  
 Const adChar = 129  
 Const adVarChar = 200  
 Const adLongVarChar = 201  
 Const adWChar = 130  
 Const adVarWChar = 202  
 Const adLongVarWChar = 203  
 Const adBinary = 128  
Const adVarBinary = 204  
 Const adLongVarBinary = 205  


附我写的C#类,和VBSCRIPT函数,希望对大家帮助



复主代码 代码如下:

시스템 사용; 
System.Data 사용; 
System.Configuration 사용; 
System.Web 사용; 
System.Data.OleDb 사용; 
네임스페이스 acc_select 

 ///  
 /// acselect 적摘要说명 
 /// 
 
 공용 클래스 accselect 
 { 
 //"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:dqdb1.mdb" 
 private string conn = ConfigurationManager.ConnectionStrings["tsingConnectionString"] .ToString(); 
공개 문자열 sql = string.Empty; 
 공개 int t = 4; 
 공개 객체 v = null; 
 public acselect() 
 { 
 } 
 ///  
 /// 构造函数,传递ACC参数查询语句 
 /// 
 
 /// strsql字符型 
 공용 accselect(string strsql) 
 { 
 sql = strsql; 
 } 
 /// <요약> 
 /// 构造函数,传递ACC参数查询语句 
 ///  
 /// 参数查询语句 
 /// 字节数 
 public accselect(string strsql, int total) 
 { 
 sql = strsql; 
 t = 전체; 
 } 
 /// <요약> 
 /// 构造函数 
 ///  
 /// 参数查询语句 
 /// 字节数 
 /// OBJECT值 
 public accselect(string strsql, int total, object value) 
 { 
 sql = strsql; 
 t = 전체; 
 v = 값; 
 } 
 /// <요약> 
 /// getOdd수단법返回OleDbDataReader 
 ///  
 /// 결정된 OleDbType类型 
 /// <반품> 
 공용 OleDbDataReader getOdd(OleDbType odt) 
 { 
 OleDbConnection conns = new OleDbConnection(this.conn); 
 OleDbCommand cmd = 새 OleDbCommand(this.sql, conns); 
 OleDbParameter parm = new OleDbParameter("temp", odt, this.t); 
 parm.Direction = ParameterDirection.Input; 
 cmd.Parameters.Add(parm); 
 cmd.Parameters[0].Value = this.v; 
 conns.Open(); 
 OleDbDataReader oda = cmd.ExecuteReader(); 
 cmd.Dispose(); 
 반환 oda; 
 } 
 string Sql 
 { 
 get 
 { 
 return sql; 
 } 
 설정 
 { 
 sql = value; 
 } 
 } 
 int T 
 { 
 get 
 { 
 return t; 
 } 
 설정 
 { 
 t = 값; 
 } 
 } 
 객체 V 
 { 
 get 
 { 
 return v; 
 } 
 설정 
 { 
 v = 값; 
 } 
 } 
 } 

//调사용방법 
//accselect acc = new accselect(); 
//acc.sql = "d_id=?dtt에서 *를 선택하세요."; 
//acc.t = 10; 
//acc.v = 1; 
//OleDbDataReader oda = acc.getOdd(OleDbType.VarChar); 
//Repeater1.DataSource = oda; 
//Repeater1.DataBind(); 

复主代码 代码如下:

함수 acc_sql(sql,adotype,adodct,strlong,values ) 
dim connstring,mycmd,myrs,conn 

 connString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db1.mdb") 
 세트 conn = Server.CreateObject("Adodb.Connection") 
 conn.ConnectionString = connString 
 conn.open() 
 set mycmd = Server.CreateObject("ADODB.Command") 
 mycmd.ActiveConnection =conn 
 mycmd.CommandText=sql 
 mycmd.Prepared = true 
 set mypar = mycmd.CreateParameter("temp",adotype,adodct,strlong,values) 
 mycmd.Parameters.Append mypar 
 set myrs = mycmd.Execute 
 set acc_sql=myrs  
end 함수  
'调사용방법 
'dim rs 
'sql="select * from users 여기서 id=? id로 주문 " 
'set rs=acc_sql(sql,3,1,4,1) 
'if not rs.eof then 
 'response.Write(rs(1)) 
'end if 
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿