VB.NET機房收費系統個人版—-知識新充實

來源:互聯網
上載者:User

 1、求vb.net訪問SQL資料庫的代碼

tringstr="DataSource=.;InitialCatalog=user;User Id=sa;Pwd=";SqlConnectionconn=newSqlConnection(str);

conn.Open();

Stringsql="selectcount(*)from info wherename='"+textbox1.Text+"'andpass='"+textbox2+"'";

SqlCommandcmd=newSqlCommand(sql,conn);

if((int)cmd.ExcuteScalr()>0)   '用於執行查詢語句,並返回結集果中的第一條記錄的第一個欄位的值。該方法的適合有一個結果的查詢,例如使用Sum,Avg,Max及Min等函數的SQL語句。

lable1.Text="成功登陸";


2、擷取DataGridView中選中行的某個欄位的vb.net代碼

 

  rows=dgvUser.CurrentCellAddress.Y.ToString'獲得選中行的索引值

enUser.UserID=dgvUser.Rows(rows).Cells(0).Value'選中行的第一個欄位

3、擷取dataTable中第一行的第二個欄位

myDT.Rows(0).Item(2)=enUser.UserPwd


 4、更新有主鍵的表


5、更新沒有主鍵的表

 Dim strSqlAs String ="updateT_BasicDataSet set rate='" &enBaseDataSet.Rate&"',tmpRate='" &enBaseDataSet.tmpRate&"',increaseTime='" & 

enBaseDataSet.IncreaseTime&"',lastTime='" & enBaseDataSet.LastTime

&"',prepareTime='" & enBaseDataSet.prepareTime &"',lastMoney='" &

 enBaseDataSet.lastMoney& "'"


6、ExecuteNonQuery對串連執行Transact-SQL語句並返回受
影響的行數

 Dim cmd AsSqlCommand = NewSqlCommand(strSql,conn)    

conn.Open()

Ifcmd.ExecuteNonQuery> 0 Then  'ExecuteNonQuery對串連執行Transact-SQL語句並返回受影響的行數

Return "修改成功"

           EndIf


 7、匯出Excel,注意不要有空行,否則有錯誤出現


8、Vb.Net中,擷取dataGridView中某行某列的值

 enLine.CardNo =dgvShowData(j,i).Value.ToString()   第i行,第j列的資料。

  enLine.CardNo =dgvShowData.Rows(i).Cells(j).Value


9、Vb.net中,刪除dgv控制項中的指定記錄

  '在控制項上刪除特定行

                   MsgBox("登入時間不足5分鐘,不收任何費用")

                   dgvShowData.Rows.RemoveAt(dgvShowData.CurrentRow.Index)

10、vb.net中,刪除dgv控制項中所有的記錄

     MsgBox("下機成功!")

           dgvShowData.DataSource ="null"

 

 11、  然後在刪除指定資料行:

1. '刪除datagridview中的資料行  

2.    'DGVuser.Rows.Remove(DGVuser.CurrentRow) 也可  

3.    DGVuser.Rows.RemoveAt(DGVuser.CurrentRow.Index)</span>  

12、 Fromat()函數的運用

http://www.lob.cn/jq/kfjq/572.shtml

http://www.doc88.com/p-21781707477.html

 

13、把資料庫中Time類型的資料轉換成string

 DimlogTime As TimeSpan

 logTime = myDT.Rows(0).Item(8)

 enCardNo1.OnLineTime= Convert.ToString(logTime)

14、日期時間擷取用Now和Today與TimeOfToday的區別

登陸時的時間間隔,如果用時間擷取通過NOW來擷取,沒有什麼障礙,計算時直接相減無障礙(儘管跨事件);

而我採用的是Today來擷取日期,TimeOfToday來擷取時間,採用這種方式的話擷取間隔時間時,我們無法在下機事件中,減去在上機事件中的上機變數;變數在下機事件中顯示不存在,此種情況我就在網上查資料,上面說可以採用全域變數來解決。然後我就是這去做,完全可以。現在我又學會了方法。

代碼:

 

上機

    '全域變數,為的是在下機的時候用

    Public Shared loginDate As Date

    Public Shared loginTime As Date

    Private Sub btnOnline_Click(senderAsObject, e As EventArgs) Handles btnOnline.Click

        Dim enLine AsNew Entity.line

        DimresultTable As DataTable

        Dim lineFac AsNew Facade.LineFac

     

        IftxtCardNo.Text = "" Then

           MsgBox("請輸入卡號!")

           Exit Sub

        End If

 

        IftxtStuNo.Text = "" Then

           MsgBox("請輸入學號!")

           Exit Sub

        End If

 

       loginDate =Today

        loginTime =TimeOfDay

       txtOnlineDate.Text = loginDate

       txtOnlineTime.Text = loginTime

 

        enLine.CardNo= txtCardNo.Text

        enLine.StuNO =txtStuNo.Text

       enLine.CardType = cmbCardType.Text

       enLine.OnLineDate = txtOnlineDate.Text

       enLine.OnLineTime = txtOnlineTime.Text

 

        Try

           resultTable =lineFac.StuLoginSystemFac(enLine)

           If resultTable.Rows.Count > 0Then

               txtAcademy.Text =resultTable.Rows(0).Item(4)

               txtName.Text =resultTable.Rows(0).Item(2)

               txtSex.Text =resultTable.Rows(0).Item(3)

               txtLastMoney.Text =resultTable.Rows(0).Item(8)

               If CType(txtLastMoney.Text,Single) < 0.5 Then

                   MsgBox("金額不足0.5元,請儲值上機!")

                   Exit Sub

               End If

           End If

        Catch ex AsException

           MsgBox(ex.Message)

           Exit Sub

        EndTry    

    End Sub

 

下機

 Private Sub btnOffline_Click(sender As Object,e AsEventArgs) Handles btnOffline.Click

        DimConsumeStanderFac As NewFacade.BaseDataSetFac

        DimenConsumeStander As NewEntity.BaseDataSet

        DimoffLineDate As Date

        DimoffLineTime As Date

        Dim lineTimeAs Long

 

        '常用使用者

        Dim rate AsString

        '臨時使用者

        Dim temRate AsString

 

        '返回計算標準

       enConsumeStander =ConsumeStanderFac.CountConsumeStanderFac()

        IfcmbCardType.Text = "固定使用者"Then

           rate = enConsumeStander.Rate

        Else

           If cmbCardType.Text ="臨時使用者" Then

               temRate =enConsumeStander.tmpRate

           End If

        End If

       offLineDate =Today

        offLineTime=TimeOfDay

       txtOffLineDate.Text = offLineDate

       txtOfflineTime.Text = offLineTime

 

       lineTime =DateDiff(DateInterval.Minute,loginTime, offLineTime)

       txtConsumeTime.Text =lineTime.ToString

    End Sub

 

 

隨著系統的進行,待續。。。。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.