รบกวนพี่ๆ ช่วยแก้เออเรอหน่อยครับ Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
เขียนโปรแกรมใหม่แล้วเกิดเออเร่อแบบนี้ครับ
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/salary102006/search.asp, line 37
คือผมเขียนโปรแกรมตรวจสอบเงินเดื่อนนะครับมีหน้าแรกให้กรอกเลขบัญชีของตนเองแล้วส่งค่ามาที่ ไฟล์ search.asp ถ้าเลขบัญชีกรอกถูกมันก็จะดึงรายละเอียดและข้อมูลต่างๆ ของคนคนนั้นมาแสดงครับ แต่ถ้าไม่ถูกก็จะบอกให้กรอกใหม่ โปรแกรมตัวเก่าของผมใช้ได้อยู่ แต่พอดีว่าฐานข้อมูลที่ได้มาใหม่มันไม่ตรงกันกับของเก่า ผมก็เลยปรับฐานข้อมูลและโปรแกรมนิดหน่อย แต่พอปรับแล้วมันก็ขึ้นเออเร่อแบบนี้นะครับ แก้มาหลายวันแล้วยังไม่หายเลยครับ ผมไม่ทราบว่า จะเป็นกับโปรแกรม หรือเป็นกับฐานข้อมูลนะครับ รบกวนพี่ๆ ด้วยครับ จะเป็นพระคุณอย่างสูงครับ ปล.ผมก็ไม่เคยเรียน ASP มาก่อนนะครับมีแต่มาหาเอาความรู้ในเว็บไปใช้ก็เลยไม่เข้าใจถ่องแท้สักเท่าไหร่ครับ
ตัวอย่างโปรแกรมครับ
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=windows-874">
<meta name="generator" content="Microsoft FrontPage 5.0">
<title>| รายละเอียดเงินเดือนบุคลากร |</title>
<style type="text/css">
.text { font-family: "MS Sans Serif" }
a:hover { color: red; text-decoration: none; background-color: #ccffcc }
a:link { color: #000099; text-decoration: none }
a:visited { color: #000088; text-decoration: none }
</style>
</head>
<%if request("yes") ="" then
pageno =1
else
pageno=request("yes")
end if%>
<body bgcolor="ivory" text="#000066" link="#660000" vlink="#660066" topmargin="0" alink="ffff00">
</td>
</tr>
</table>
<table border="0" width="780" height="0">
<%
thmonth=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน.","ธันวาคม")
' ---- ส่วนติดต่อกับฐานข้อมูลเพื่อแสดงรายการคำถาม
Set Conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("\salary102006\db1.mdb")
if request("keyword") <> "" then
Sql="SELECT ktb_acc, provice, id, name, s_name, stat, grade, id_per, aumper, accp, money, money_bos, money_son, money_tan, money_psr, money_pks, money_home, money_tb, sum_money, vat, kbk, ksj, chpk, chps, chso, chkp, cho, oom_on, oom_un_r, ktb_money, aso_money, tks_money, omsin_mone, pkp_1_mon, pkp_2_mon, pkp_3_mon, pkp_4_mon, pkp_5_mon, exp_1_mon, exp_2_mon, exp_3_mon, exp_4_mon, exp_5_mon, exp_6_mon, sum_exp, amount, name_ktb, amtext FROM salary where (ktb_acc like '"&request("keyword")&"') order by ktb_acc desc"
else
Sql="SELECT ktb_acc, name, s_name FROM salary order by ktb_acc desc"
end If
Set RS =Server.CreateObject("ADODB.Recordset")
RS.open Sql,Conn,1,3========================================บรรทัดเออเร่อครับผม**************************
total=RS.Recordcount
if total=0 then%>
<td><br><br><br><br><br><br>
<div align="center"><font face="ms sans serif" size="4" color="red">ไม่พบข้อมูลในระบบจ้า !</font><br> <br><font face="ms sans serif" size="4" ><<<<<------- กรุณาลองใหม่อีกครั้ง--------->>>>> </font></div>
<%else%>
<br></font></div>
<%
pagesize=1
totalpage=total\pagesize
if (total mod pagesize) <> "0" then
totalpage= totalpage+1
end if
RS.Move pagesize*(pageno-1)
a=1
if trim(pageno) <> trim(totalpage) then
endrecord = pagesize
else
if (total mod pagesize)=0 then
endrecord=1
else
endrecord=(total mod pagesize)
end if
end if
For a=1 to endrecord%>
<tr>
<td height="25" width="760" valign="top">
<B>รายละเอียดเงินเดือน กุมภาพันธ์ 2554 <%=RS("provice")%></B><br><B>หน่วยงาน</B> <%=RS("accp")%> อำเภอ <%=RS("aumper")%>
<div align="left"><font face="ms sans serif" size="3"><B>เลขบัญชีธนาคาร</B> <font face="ms sans serif" size="3" color="red"><%=request("keyword")%></font>
<font face="ms sans serif" size="3" color="red"><%=RS("name_ktb")%> </font><br>
<div align="left"><hr width="380" size="1"></div>
<B>ชื่อ<%=RS("name")%></B> <%=RS("name")%> <B>ตำแหน่ง</B> <%=RS("stat")%>
<br><B>ระดับ</B> <%=RS("grade")%> <B>เลขประชาชน</B> <%=RS("id_per")%>
<br>
<div align="left"><hr width="380" size="1"></div>
<table width="300" border="0" cellspacing="0" cellpadding="1">
<tr>
<th scope="row"><table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<th scope="row">
<td><div align="left">
เงินเดือน <%=RS("money")%> บาท<br>
เงินวิทยฐานะ <%=RS("money_bos")%> บาท<br>
</div>
</th>
<td><div align="left">
เงินช่วยเหลือบุตร <%=RS("money_son")%> บาท<br>
เงินเพิ่มค่าตอบแทน <%=RS("money_tan")%> บาท<br>
</div>
</th>
<td><div align="left">
เงินเพิ่มค่าครองชีพ <%=RS("money_psr")%> บาท<br>
เงินเพิ่ม พคศ. <%=RS("money_pks")%> บาท<br>
</div>
</th>
<td><div align="left">
เงินค่าเช่าบ้าน <%=RS("money_home")%> บาท<br>
เงินอื่นๆ <%=RS("money_tb")%> บาท<br>
</div>
</td>
</tr>
</table></th>
</tr>
</table>
<B>รวมรับ <%=RS("sum_money")%> บาท</B><br>
<div align="left"><hr width="380" size="1"></div>
<table width="300" border="0" cellspacing="0" cellpadding="1">
<tr>
<th scope="row"><table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<th scope="row">
<td><div align="left">
ภาษี <%=RS("vat")%> บาท<br>
ก.บ.ข. <%=RS("kbk")%> บาท<br>
ก.ส.จ. <%=RS("ksj")%> บาท<br>
ช.พ.ค. <%=RS("chpk")%> บาท<br>
ช.พ.ส. <%=RS("chps")%> บาท<br>
ฌศอ. <%=RS("chso")%> บาท<br>
พสธ. <%=RS("chkp")%> บาท<br>
สหกรณ์สามัญ <%=RS("oom_on")%> บาท<br>
สหกรณ์ครู <%=RS("oom_un_r")%> บาท<br>
เคหะกรุงไทย <%=RS("ktb_money")%> บาท<br>
ธ.อาคารสงเคราะห์ <%=RS("aso_money")%> บาท<br>
ธ.ก.ส. <%=RS("tks_money")%> บาท<br>
ธ.ออมสิน <%=RS("omsin_mone")%> บาท<br>
ไทยสมุทร <%=RS("pkp_1_mon")%> บาท<br>
อาคเนย์ <%=RS("pkp_2_mon")%> บาท<br>
AIA อุบล <%=RS("pkp_3_mon")%> บาท<br>
AIA กรม <%=RS("pkp_4_mon")%> บาท<br>
</div>
</th>
<td><div align="left">
ธ.ออมสิน <%=RS("omsin_mone")%> บาท<br>
ไทยสมุทร <%=RS("pkp_1_mon")%> บาท<br>
อาคเนย์ <%=RS("pkp_2_mon")%> บาท<br>
AIA อุบล <%=RS("pkp_3_mon")%> บาท<br>
AIA กรม <%=RS("pkp_4_mon")%> บาท<br>
AIA ขอนแก่น <%=RS("pkp_5_mon")%> บาท<br>
AIA สรรพสิทธิ <%=RS("exp_1_mon")%> บาท<br>
AIA สุรินทร์ <%=RS("exp_2_mon")%> บาท<br>
นิวแฮมเชอร์ <%=RS("exp_3_mon")%> บาท<br>
บังคับคดี <%=RS("exp_4_mon")%> บาท<br>
กองทุนสัจจะ <%=RS("exp_5_mon")%> บาท<br>
อื่นๆ <%=RS("exp_6_mon")%> บาท<br>
</div>
</td>
</tr>
</table></th>
</tr>
</table>
<B>รวมจ่าย <%=RS("sum_exp")%> บาท</B><br>
<div align="left"><hr width="380" size="1"></div>
<B>คงเหลือรับจริง <%=RS("amount")%> บาท</B><%=RS("amtext")%><br>
<B>โอนเข้าบัญชี </B> <%=RS("name_ktb")%> <br>
</tr>
<%RS.MoveNext
Next
rs.close
conn.close%>
<table width="85%" border="0">
</table></div>
<%end if%><div align="center">
<br>
</div>
</div>
</body>
</html>
ฐานข้อมูลเป็น Access ครับ ขอบพระคุณล่วงหน้าครับ ถ้าไม่ได้เจ้านายเอาตายเลย Tag : ASP, Ms Access, Web (ASP.NET)
Date :
2011-03-05 10:59:02
By :
saksanbua
View :
1749
Reply :
4
ถ้าเลือก field มากขนาดนั้น ใช้เป็น select * ไปเลยครับ ไม่รู้พิมพ์ชื่อ field ผิดบ้างหรือเปล่า ผิดแค่ตัวอักษรเดียว ก็ error แล้วครับ
Sql= Sql & "SELECT * "
Sql= Sql & "FROM salary "
Sql= Sql & "WHERE ktb_acc LIKE '%" & request("keyword") &"%' "
Sql= Sql & "ORDER BY ktb_acc DESC"
Date :
2011-03-05 15:08:46
By :
Aod47
ขอโทษนะครับ ยังไม่เข้าใจเลยครับ เอาไปแทนบรรทัดไหนครับ ไม่ค่อยมีความรู้เลย
Date :
2011-03-05 17:42:07
By :
saksanbua
ได้แล้วครับ ขอบพระคุณมากๆ ครับที่แนะนำครับ เฮอๆ จะได้ใช้วิธีนี้ไปหากินอีกเยอะเลย ขอบคุณจากใจมากๆ เลยครับ
Date :
2011-03-05 19:20:06
By :
saksanbua
ระวังด้วยนะคับ ตอนแรก ที่ Database ที่มัเล้กๆ มันอาจจะไม่เห็นอะไร แต่พอ Database มันใหญ่ และ Field เยอะๆ การ Select * นั้น จะเป็นอะไรที่ กิน Resource มาก มีผลด้วยทำให้ ระบบ ช้า ... นะก๊าบบบ
Date :
2011-03-07 16:04:50
By :
diysms
Load balance : Server 05