寫兩個(gè)函數(shù),一個(gè)檢測(cè)是否有重復(fù)用戶,第二個(gè)插入
成都創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作設(shè)計(jì)、微商城、網(wǎng)站托管及網(wǎng)站維護(hù)公司、WEB系統(tǒng)開發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為護(hù)欄打樁機(jī)行業(yè)客戶提供了網(wǎng)站維護(hù)服務(wù)。
檢測(cè)屬用戶是否存在
private function checkUser(byval uname as string) as boolean
dim sql as string = "select * from [user] where username=" uname
dim cmd as sqlcommand = new sqlcommand(sql,conn)
dim read as sqldatareader = cmd.excutereader
dim result as boolean = read.hasrows
cmd=nothing
return result
end function
新增用戶
private sub adduser(byval uname as string,byval password as string)
if checkUser(uname)
messagebox.show("用戶已存在")
exit sub
end if
try
dim sql as string = "insert into [user](username,password) values(@uname,@upass)"
dim cmd as sqlcommand = new sqlcommand(sql,conn)
cmd.parameters.add("@uname",sqldbtype.varchar).value=uname
cmd.parameters.add("@upass",sqldbtype.varchar).value=password
cmd.ExecuteNonQuery
cmd=nothing
messagebox.show("用戶添加成功!")
catch ex As Exception
messagebox.show("用戶添加失?。? + ex.message)
end try
end sub
Public Class A
Shared i As Interger
Public Sub New()
i = i+1
End Sub
End Class
新建窗口,添加picture控件
利用line()方法畫線
line(開始x坐標(biāo),開始y坐標(biāo))-(結(jié)束x坐標(biāo),結(jié)束y坐標(biāo)),線的顏色,畫線的方式(默認(rèn)為線,B為矩形無填充,BF為填充的矩形)
For i = 1 To 16
Picture1.Line (0, Picture1.Height / 2)-(i * (Picture1.Width / 16), 0), RGB(255, 0, 0)
Picture1.Line (0, Picture1.Height / 2)-(i * (Picture1.Width / 16), Picture1.Height), RGB(255, 0, 0)
Picture1.Line (Picture1.Width, Picture1.Height / 2)-(i * (Picture1.Width / 16), 0), RGB(0, 255, 0)
Picture1.Line (Picture1.Width, Picture1.Height / 2)-(i * (Picture1.Width / 16), Picture1.Height), RGB(0, 255, 0)
Next i
如果要在窗口上畫也可以調(diào)用窗口的line方法即form.line()
在C#中有 靜態(tài)類 的概念 自然里邊全部的方法都是靜態(tài)的 這意味著你可以直接通過 類名 方法名 去調(diào)用(例如System的Math類就是典型) 在VB NET中 沒有 靜態(tài)類 的概念(當(dāng)然你可以用 單例模式 把構(gòu)造函數(shù)弄成Private的方式 其它方法都是靜態(tài)的)如果某些方法需要被其它地方頻繁使用 可以創(chuàng)建 模塊 在VB NET中一旦創(chuàng)建了模塊 其中任何方法 屬性或者變量都可以被其它地方引用 因此適合全局情況下頻繁交互的情況(比如初始化加載的參數(shù) 可能后續(xù)程序要使用)等
現(xiàn)在問題在于 如果你把一個(gè)類似以下的模塊代碼封裝成DLL類庫(kù) 無論在C#或者是VB NET中都無法引用到其方法
Module A
Public Sub Test()
End Sub
End Module
或許你感到很奇怪——不是在VB NET中這樣定義一個(gè)Module就直接可以使用其內(nèi)部方法了么?為什么封裝成類庫(kù)就不可以了呢?上網(wǎng)問了一些人 眾說紛紜 后來我在他人協(xié)助下終于成功解決了這個(gè)問題——解決方法很簡(jiǎn)單——只要在Module前加Public
理由是 為了兼容C# VB NET由Module封裝成類庫(kù)中這個(gè)模塊不再是 模塊 而是一個(gè)標(biāo)準(zhǔn)的類了 如果這樣寫 那么在 NET中被理解成(C#)
internal A
{
public void Test()
{
}
}
整個(gè)模塊變成Internal的了!當(dāng)然你到其它程序集中去引用就引用不到!而把類庫(kù)中的Module的修飾符改為Public就可以了 這就是MSDN那位友人給我最好的提示
雖然這個(gè)提示不是令我太滿意(因?yàn)橐繴B NET中可以直接不通過 類名 方式直接使用方法名) 但是這給了我很大的暗示 得出重要的結(jié)論
)VB NET中Module在制作成類庫(kù)時(shí)候等同于VB NET中的類的規(guī)則(里邊的方法都是靜態(tài)的) 默認(rèn)情況下是Friend(C#是internal)
)根據(jù)結(jié)論 那么我們知道引用該DLL類庫(kù)的方法一定是 i)引用命名空間? ii)C#中直接 類名 方法名 對(duì)于VB NET 直接可以引用到方法名
lishixinzhi/Article/program/net/201311/12502