查看: 975|回复: 5
|
请教有关VB.net的问题
[复制链接]
|
|
想请教
我用vb.net做FYP
遇到很多问题,想请教各位高手
我是vb.net的新手
学过vb6,但是成绩很不理想
我是做一个POS system,里面有:
(1)Sales
(2)记录member(以换取member point,就像bonuslink card)
(3)记录Supplier
(4)记录Inventory
问题(1)
member有main site/common site,就是上面有几个textbox(Readonly)
下面有DataGridView(以便user可以click,大略看过那些资料)
旁边有Add, Edit, Delete, Search 的button
现在有两个table是关联的:
member table
member point table
我想display member point 在member main site 的一个textbox
请问要怎么拿某个member的member point?
====================================================
还有我我为了让user知道那个member是不是expired
我就用了IF-ENDIF 的方法,然后把答案放在txtStatus
我能放到了那些字(AVAILABLE / EXPIRED)
但是当EXPIRED时,字体的颜色不能变红色
请问我的coding在哪里出错?
====================================================
Private Sub dgvMDisplay_RowHeaderMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvMDisplay.RowHeaderMouseClick
Dim i, j As Integer
'j refer to the number of column in Member Table
i = dgvMDisplay.CurrentRow.Index
Me.txtMemberID.Text = Me.dgvMDisplay.Item(0, i).Value
Me.txtName.Text = Me.dgvMDisplay.Item(1, i).Value
Me.txtIC.Text = Me.dgvMDisplay.Item(2, i).Value
Me.txtGender.Text = Me.dgvMDisplay.Item(4, i).Value
Me.rtxtAddress.Text = Me.dgvMDisplay.Item(5, i).Value
Me.txtContactNo.Text = Me.dgvMDisplay.Item(6, i).Value
Me.txtDIssued.Text = Me.dgvMDisplay.Item(7, i).Value
Me.txtDExpired.Text = Me.dgvMDisplay.Item(8, i).Value
'Me.txtMemPoint.Text =
Dim EndDate As DateTime = Me.txtDExpired.Text
Dim Current As DateTime = Today
If DateTime.Compare(Current, EndDate) < 0 Then
txtStatus.Text = "AVAILABLE"
End If
If DateTime.Compare(Current, EndDate) = 0 Then
txtStatus.Text = "EXPIRED"
'txtStatus.ForeColor = Color.Red
End If
If DateTime.Compare(Current, EndDate) > 0 Then
txtStatus.Text = "EXPIRED"
'txtStatus.ForeColor = Color.Red
End If
|
|
|
|
|
|
|
|
发表于 6-11-2007 06:32 PM
|
显示全部楼层
Select Case DateTime.Compare(Current,EndDate)
Case Is < 0
Me.TextBox1.Text = "AVAILABLE"
Me.TextBox1.ForeColor = Color.Black ' Set to Default Color
Cse Is >= 0
Me.TextBox1.Text = "EXPIRED"
Me.TextBox1.ForeColor = Color.Red'
End Select |
|
|
|
|
|
|
|

楼主 |
发表于 6-11-2007 11:29 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 7-11-2007 01:34 PM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 8-11-2007 06:58 PM
|
显示全部楼层
问题(2)
member有main site里面有4个button :
(1)ADD
(2)EDIT
(3)DELETE
(4)SEARCH
ADD button会link去另一个Form (Member Registration)
我的作法是:
(i) 做一个method,sub addMember(ByVal sqlStr as String)
(ii)然后在member register form的ADD button clicked 里面call addMember()
没有error,但是build的时候出现
InvalidOptionException was unhandled
An error occurred creating the form. See Exception.InnerException for details.
The error is: Object reference not set to an instance of an object.
我有去查看是什么问题
网上说多数是dataTable 没有放 new
改了几次,还是一样
到底是什么问题呢?
=======================================
Sub addMember(ByVal sqlStr As String)
Dim dt As New DataTable()
Dim connStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=TradingSystem.MDB"
Dim dataAdapter As New OleDb.OleDbDataAdapter(sqlStr, connStr)
dataAdapter.Fill(dt)
dataAdapter.Dispose()
Dim newRow As DataRow = dt.NewRow()
' Add A Row
Dim female As String = "f"
Dim male As String = "m"
Dim getFee1 As Double = 5.0
Dim getFee2 As Double = 10.0
newRow("MemberID") = Convert.ToInt32(Me.txtMemberID.Text)
newRow("MemberName") = Me.txtName.Text
........
........
dt.Rows.Add(newRow)
frmMemberMain.Show()
End Sub
Private Sub btnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAdd.Click
addMember("Select * from Member")
End Sub |
|
|
|
|
|
|
|
发表于 5-12-2007 08:02 PM
|
显示全部楼层
NEW 的用意是DEFINE OBJECT TO NEW OBJECT。
如果你的车没油了,你买一辆新车添油后会影响你现在这辆没油的车吗 ? |
|
|
|
|
|
|
| |
本周最热论坛帖子
|