Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > .NET Framework > Forum > ถามเรื่อง การเช็กข้อมูลกับ database จะมีหน้านึง ให้ลูกค้ากรอกข้อมูลบัตรเครดิต ให้ตรงทุกส่วน



 

ถามเรื่อง การเช็กข้อมูลกับ database จะมีหน้านึง ให้ลูกค้ากรอกข้อมูลบัตรเครดิต ให้ตรงทุกส่วน

 



Topic : 038819



โพสกระทู้ ( 23 )
บทความ ( 0 )



สถานะออฟไลน์




จะมีหน้านึง ให้ลูกค้ากรอกข้อมูลบัตรเครดิต ให้ตรงทุกส่วน โดยเทียบกับ database

แล้ว มัน error ว่า Unable to cast object of type 'System.Int32' to type 'System.String'. ตรงบรรทัดที่ CurrentName = (string)com.ExecuteScalar();

ช่วยหน่อยคับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-02-12 10:02:25 By : k1245689 View : 1701 Reply : 7
 

 

No. 1



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


com.ExecuteScalar() <<< จะได้ rows int

CurrentName = Convert.ToString(com.ExecuteScalar());






Date : 2010-02-12 10:43:27 By : numenoy
 


 

No. 2



โพสกระทู้ ( 23 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่error แล้วคับ
แต่มันไม่เชก ข้อมูลให้ตรงกับ database อะคับ
ช่วยดู code หน่อยคับ


string sqlUserName;
sqlUserName = "SELECT * FROM [Credit Verify]";
sqlUserName += " WHERE([Credit no.] ='" + x + "')";
sqlUserName += " AND ([Type of Card] ='" + DropDownList2.Text + "')";
sqlUserName += " AND ([Name of Bank] ='" + DropDownList1.Text + "')";
sqlUserName += " AND ([Name on Card] ='" + TextBox3.Text + "')";
sqlUserName += " AND ([Expire Date] ='" + TextBox2.Text + "')";

SqlCommand com = new SqlCommand(sqlUserName, Conn);

string CurrentName;
CurrentName = Convert.ToString(com.ExecuteScalar());



if (CurrentName != null )
{

Session.Timeout = 1;
Response.Redirect("step2.aspx");
}
else
{
MessageBox.Show("Credit Card information is Incorrect ");
}
Date : 2010-02-12 13:19:25 By : k1245689
 

 

No. 3



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


ExecuteScalar จะ return ค่าของ first row และ first column ออกมา
ปกติจะใช้เพื่อดึงค่าออกจากฐานข้อมูลโดยเขียน code สั้นๆ

ที่เห็นคือ select * >> จากนิยามค่าที่ได้คือ first row และ first column
ซึ่งไม่ทราบว่า column แรกของคุณใช้ type ไหน

ให้เดานะคะ ปกติ coulmn แรกก มักจะเป็น ID ซึ่งในกรณีของ MSSQL จะเป็น Auto Inc แบบ int
ทำให้เกิด Error ในครั้งแรก

ทีนี้พอมาดูครั้งล่าสุดที่คุณแก้มา คุณ Convert ให้เป็น string ทำให้ Type convention error หายไป
แต่สิ่งที่ต้องการคือชื่อกลับไม่ใช่ชื่อที่ต้องการ ทั้งที่น่าจะดึงข้อมูลมาถูก record แล้ว

สรุปคือ ExcuteScalar กับ SqlCommand น่าจะทำงานได้ถูกต้องแล้วค่ะ
เพียงแต่ return ค่าของ Column มาให้ผิด Column >> Select *

ปรับแก้ได้หลายวิธี อย่างเช่น
กำหนด column ที่ return ออกมา และควรจะจำกัดจำนวน record ออกมาด้วยจากนิยาม ExecuteScalar ค่ะ
* ไม่แน่ใจว่า ต้องการ column [Name on Card] หรือเปล่า เอาเป็นว่า สมมุติว่าต้องการค่านี้
SQL >> SELECT TOP 1 [Name on Card] FROM [Credit Verify] WHERE blah..blah;
Date : 2010-02-12 14:19:40 By : blurEye
 


 

No. 4



โพสกระทู้ ( 23 )
บทความ ( 0 )



สถานะออฟไลน์


คือ จะ select มาทุกตัวเลยคับ Credit no ,Type of Card, Name of Bank, Name on Card,Expire Date

มาเชก ให้ตรงกับ database ครับ
Date : 2010-02-12 14:31:52 By : k1245689
 


 

No. 5



โพสกระทู้ ( 23 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วคับผม

ขอบคุณ ท่าน numenoy และ ท่าน Girls generation II ด้วยคับ
Date : 2010-02-12 14:33:54 By : k1245689
 


 

No. 6

Guest


string sqlUserName;
sqlUserName = "SELECT * FROM [Credit Verify]";
sqlUserName += " WHERE([Credit no.] ='" + x + "')"; <<< อันนี้มี จุด ด้วย ถูกใช่มั้ยครับ
sqlUserName += " AND ([Type of Card] ='" + DropDownList2.Text + "')";
sqlUserName += " AND ([Name of Bank] ='" + DropDownList1.Text + "')";
sqlUserName += " AND ([Name on Card] ='" + TextBox3.Text + "')";
sqlUserName += " AND ([Expire Date] ='" + TextBox2.Text + "')";

SqlCommand com = new SqlCommand(sqlUserName, Conn);

string CurrentName;
CurrentName = Convert.ToString(com.ExecuteScalar()); <<< อันนี้มันไม่ได้ null อยู่แล้ว คุณต้อง check ว่าได้ค่าอะไรตางหาก



if (CurrentName != null )
{

Session.Timeout = 1;
Response.Redirect("step2.aspx");
}
Date : 2010-02-12 14:46:59 By : numenoy
 


 

No. 7



โพสกระทู้ ( 23 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากๆครับ

ได้แล้วคับ ^^
Date : 2010-02-12 15:04:55 By : k1245689
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเรื่อง การเช็กข้อมูลกับ database จะมีหน้านึง ให้ลูกค้ากรอกข้อมูลบัตรเครดิต ให้ตรงทุกส่วน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่