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,037

HOME > .NET Framework > Forum > การทำแบบทดสอบออนไลน์แบบ Multiple Choice ไม่เป็นจิงๆ ช่วยหน่อยน้า



 

การทำแบบทดสอบออนไลน์แบบ Multiple Choice ไม่เป็นจิงๆ ช่วยหน่อยน้า

 



Topic : 047917

Guest




ขอความกรุณาด้วยน่ะคับ
คือผมต้องการจะทำ แบบทดสอบออนไลน์ ใน Visual Web Devloper 2008
คือในฐานข้อมูล Sql Server 2008ของผม ชื่อ dbo.Test เก็บข้อมูล
-idtest รหัสข้อสอบ
-Question คำถาม
-Choice1 ตัวเลือก1
-Choice2 ตัวเลือก2
-Choice3 ตัวเลือก3
-Choice4 ตัวเลือก4
-Answer คำตอบ

(*จำนวน 50ข้อ)
อย่างแรกที่ผมอยากรู้ คือ ต้องการ Randomคำถามมาแสดง 10ข้อ แต่ผมจะทำเป็นแบบ Multiple Choice
MultipleChoice
โดยให้ มีการจัดการSaveคำตอบ ที่ปุ่มเดียว เมื่อSaveข้อแรกเสร็จก็จะ เรียกข้อต่อไปมาแทน จนถึง
ข้อ 50 ก็จะทำการแสดง จำนวนข้อที่ถูกทั้งหมด
(*คือผมอยากได้Saveข้อมูลล่าสุดเสมออ่ะคับ เช่น สมมุติ วันนี้เราทำข้อสอบได้ 40คะแนน
พรุ่งนี้มาทำใหม่ได้ 48คะแนน ก็จะลงในDB 48คะแนนแทน40คะแนน คือเหมือนแก้ไขข้อมูลเดิมอ่าคับ )




Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-08-30 15:41:46 By : ผู้ด้อยความรู้ View : 1865 Reply : 3
 

 

No. 1



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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


ลองคิด algorithm + flowchart มาก่อนครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-30 15:44:22 By : tungman
 


 

No. 2

Guest


คือทำตามนี้แล้วมันSave ต่อเรื่อยๆเมื่อเราเข้ามาทำใหม่ ไม่Save ทับอันเก่าอ่ะคับ หรือช่วยแนะนำแบบทดสอบแบบอื่นก็ได้คับ
test2
Imports System.Data
Imports System.Data.SqlClient





































Partial Class Test2
Inherits System.Web.UI.Page





































Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
lblDate.Text = DateTime.Now.ToString("D")
If Not IsPostBack() = True Then
lblError.Text = ""
Session("id_test_int") = 1
Load_data()
If Session("xUser_ID") Is Nothing Then
Response.Redirect("login.aspx")
End If
'รับค่า'
Dim XUser As String
XUser = Session("xUser_ID")
'เลือกฐานข้อมูล'
Dim strConn As String
strConn = "Data Source=.\SQLEXPRESS;Initial Catalog=****;User ID=sa;Password=****"
Dim objConn As New SqlConnection(strConn)
objConn.Open()
Dim strSQLcmd As String = " SELECT * FROM member " & _
" WHERE User_ID ='" & Session("xUser_ID") & "'"
Dim Cmd As New SqlCommand(strSQLcmd, objConn)
Dim objDR As SqlDataReader
objDR = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
While objDR.Read()
lblName.Text = objDR("User_ID")
End While
End If
End Sub





































Sub Load_data()
Session("id_test") = PadL(Session("id_test_int"), 3, "0")
lblId_test.Text = Session("id_test_int")
Dim dvSql As DataView = _
DirectCast(SqlDataSource1.Select(DataSourceSelectArguments.Empty), DataView)
For Each drvSql As DataRowView In dvSql
lblId.Text = drvSql("Id_test")
lblQuestion.Text = drvSql("Question")
lblAnswer.Text = drvSql("Answer")
RadioButton1.Text = drvSql("Choice1")
RadioButton2.Text = drvSql("Choice2")
RadioButton3.Text = drvSql("Choice3")
RadioButton4.Text = drvSql("Choice4")
Next
End Sub





































Protected Sub RadioButtonTest_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
If RadioButton1.Checked = True Then
lblSelect.Text = RadioButton1.Text
ElseIf RadioButton2.Checked = True Then
lblSelect.Text = RadioButton2.Text
ElseIf RadioButton3.Checked = True Then
lblSelect.Text = RadioButton3.Text
Else
lblSelect.Text = RadioButton4.Text
End If
lblError.Text = ""
End Sub





































Function PadL(ByVal cExpression As String, ByVal nResultSize As Integer, ByVal cPaddingChar As Char) As String
Return cExpression.PadLeft(nResultSize, cPaddingChar)
End Function





































Protected Sub btnNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNext.Click

If Session("id_test_int") < 50 Then
Session("id_test_int") = Session("id_test_int") + 1
Load_data()
RadioButton1.Checked = False
RadioButton2.Checked = False
RadioButton3.Checked = False
RadioButton4.Checked = False
lblSelect.Text = ""
lblError.Text = ""
lblScore.Text = ""
Else
' ซ่อนข้อสอบ
lblId_test.Visible = False
lblQuestion.Visible = False
RadioButton1.Visible = False
RadioButton2.Visible = False
RadioButton3.Visible = False
RadioButton4.Visible = False
btnNext.Visible = False
btnSubmit.Visible = False
lblError.Visible = False
lblScore.Visible = False
End If
End Sub

Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
'เช็คว่าซ้ำหรือเปล่า
'เชื่อมต่อกับ SQL Server
Dim strConn1 As String
strConn1 = "Data Source=.\SQLEXPRESS;Initial Catalog=****;User ID =sa;Password =****"
Dim objConn1 As New SqlConnection(strConn1)
objConn1.Open()
'คิวรี่ข้อมูล
'ค้นหาข้อมูล
Dim strSQL1 As String
strSQL1 = "SELECT * FROM mem_test WHERE User_ID = '" & lblName.Text & lblId.Text & lblAnswer.Text & "'"
Dim objCommand1 As New SqlCommand(strSQL1, objConn1)
Dim objDR As SqlDataReader
objDR = objCommand1.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
Dim nRec As Integer = 0
While objDR.Read()
nRec = nRec + 1
lblError.Text = "คุณได้ตอบคำถามข้อนี้แล้ว"
End While
Dim Select_choice As String = lblSelect.Text
Dim Answer As String = lblAnswer.Text
If Select_choice = Answer = True Then
lblScore.Text = 1
Else
lblScore.Text = 0
End If
If nRec > 0 Then
Exit Sub
End If
'ตรวจสอบข้อผิดพลาด'
lblError.Text = ""
If lblSelect.Text = "" Then
lblError.Text = "คุณยังไม่ได้เลือกคำตอบ"
lblSelect.Focus()
Return
End If
'บันทึกข้อมูล
'เชื่อมต่อกับฐานข้อมูล SQL Server
Dim strConn As String
strConn = "Data Source=.\SQLEXPRESS;Initial Catalog=****;User ID =sa;Password =****"
Dim objConn As New SqlConnection(strConn)
objConn.Open()
'คำสั่ง SQL สำหรับการเพื่มข้อมูล
Dim strSQL As String
strSQL = "INSERT INTO mem_test (User_ID,Id_Test,Answer,Select_choice,Score,Date)" & _
"VALUES(@User_ID,@Id_Test,@Answer,@Select_choice,@Score,@Date) "
Dim objCommand As New SqlCommand(strSQL, objConn)
objCommand.Parameters.Add(New SqlParameter("@User_ID", lblName.Text))
objCommand.Parameters.Add(New SqlParameter("@Id_Test", lblId.Text))
objCommand.Parameters.Add(New SqlParameter("@Answer", lblAnswer.Text))
objCommand.Parameters.Add(New SqlParameter("@Select_choice", lblSelect.Text))
objCommand.Parameters.Add(New SqlParameter("@Score", lblScore.Text))
objCommand.Parameters.Add(New SqlParameter("@Date", lblDate.Text))
objCommand.ExecuteNonQuery()
'บันทึกข้อมูลเรียบร้อย ทำการล้างค่าที่หน้าจอ เพื่อรอป้อนข้อมูลใหม่
lblId.Text = ""
lblAnswer.Text = ""
lblSelect.Text = ""
lblScore.Text = ""
End Sub
End Class
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-30 16:19:15 By : ผู้ด้อยความรู้
 

 

No. 3

Guest


เวงกำ ติดเส้นมาไงเนี่ย ขอโทดจิงๆคับ ไม่ได้ตั้งใจคับ พอดีรีบเลยลืมดู ขอโทดจิงคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-30 16:21:39 By : ผู้ด้อยความรู้
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การทำแบบทดสอบออนไลน์แบบ Multiple Choice ไม่เป็นจิงๆ ช่วยหน่อยน้า
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่