我在使用String.Split方法时遇到了一些问题,例如:
Dim tstString As String = "something here -:- URLhere"
Dim newtstString = tstString.Split(" -:- ")
MessageBox.Show(newtstString(0))
MessageBox.Show(newtstString(1))
Run Code Online (Sandbox Code Playgroud)
上面用PHP(我的母语!)会在这里返回一些内容并在消息框中返回URL.
在VB.NET中,我得到:
something here
Run Code Online (Sandbox Code Playgroud)
和
: (colon)
Run Code Online (Sandbox Code Playgroud)
String.Split仅适用于标准字符吗?我似乎无法想出这个.我确定这很简单!
我有一个ArrayList,可以在其中存储100,000多个数字.每个数字的长度为10位或更小.程序本身有数据输入,它通过用户输入循环,以查看它们中的任何数字是否已经在数组中使用if ArrayList.Contains(userinput).
看来,当拥有这个大小的ArrayList时,正在使用大量内存.是否有更快的方式来运行它,例如数据库或If TextFile.Contains(Line)?
我试图使用下面的代码插入数据库,但是,每次我收到错误:
日期格式中存在语法错误.[表达式= @DOB]
我已经尝试了几乎所有日期格式,tolongdate,toshortdate等,无论我使用什么,这个错误显示.
数据库列格式是datetime.我出错的任何想法?
码:
' Insert New User - Create Connection
Dim sqlConn As New SqlCeConnection(My.Settings.CompDbConnectionString)
' Open Connection
sqlConn.Open()
' Query DB
Dim sqlComm As New SqlCeCommand("INSERT INTO Profiles(Title, FirstName, LastName, DOB) VALUES(@Title, '@FirstName', '@LastName', '@DOB')", sqlConn)
' Add Parameters
sqlComm.Parameters.Add(New SqlCeParameter("@Title", SqlDbType.NVarChar)).Value = ComboTitle.SelectedItem.ToString()
sqlComm.Parameters.Add(New SqlCeParameter("@FirstName", SqlDbType.NVarChar)).Value = txtFirstName.Text
sqlComm.Parameters.Add(New SqlCeParameter("@LastName", SqlDbType.NVarChar)).Value = txtLastName.Text
sqlComm.Parameters.Add(New SqlCeParameter("@DOB", SqlDbType.DateTime)).Value = DteDOB.Value.ToUniversalTime
' Insert Into Database
Try
sqlComm.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("Failed To Update Your Details:" …Run Code Online (Sandbox Code Playgroud) 目前我正在使用Access&OleDb连接存储数据.我最初沿着这条路走下去是因为我认为这是我分发给客户的应用程序的最佳方式.
我更喜欢使用像SQL Server这样的东西,但这对我分发的软件来说是个好主意吗?普通的Joe的PC是否预先安装了SQL Server?如果没有,我想我可以为他们提供免费下载的链接吗?
是否有更好的Access/SQL Server替代品?