ASP.Net String Split не работает - PullRequest
0 голосов
/ 25 октября 2010

Вот мой код

Dim RefsUpdate As String() = Session("Refs").Split("-"C)

Dim PaymentsPassedUpdate As String() = Session("PaymentsPassed").Split("-"C)

Dim x as Integer

For x = 1 to RefsUpdate.Length - 1

Dim LogData2 As sterm.markdata = New sterm.markdata() 

Dim queryUpdatePaymentFlags as String = ("UPDATE OPENQUERY (db,'SELECT * FROM table WHERE ref = ''"+ RefsUpdate(x) +"'' AND bookno = ''"+ Session("number") +"'' ') SET alpaid = '"+PaymentsPassedUpdate(x) +"', paidfl = 'Y', amountdue = '0' ") 

Dim drSetUpdatePaymentFlags As DataSet = Data.Blah(queryUpdatePaymentFlags) 

Next 

Я не получаю никаких ошибок за это, но, похоже, он не работает должным образом

Я передаю бронирование как это AA123456 - BB123456 - CC123456 - и т. Д., И оплачиваю это 50000 - 10000 - 30000 -

Мне нужно обновить базу данных с помощью ref AA123456, чтобы в поле alpaid было 50000.

Не могу заставить его работать

Есть идеи?

Спасибо

Jamie

Ответы [ 2 ]

1 голос
/ 25 октября 2010

Ваша проблема с индексированием, упомянутая Марком, это всего лишь один элемент, но она вызовет проблему. Я бы сказал, глядя на основание, ваша проблема проистекает из того, что вы не обрезали струны. В вашей базе данных, вероятно, нет пробелов, ведущих или заканчивающих ваши данные, поэтому вам нужно сделать что-то вроде:

Dim refsUpdateString as string = RefsUpdate(x).Trim()
Dim paymentsPassedUpdateString as string = PaymentsPassedUpdate(x).Trim()

...

Dim queryUpdatePaymentFlags as String = ("UPDATE OPENQUERY (db,'SELECT * FROM table WHERE ref = ''" & refsUpdateString  & "'' AND bookno = ''" & Session("number") & "'' ') SET alpaid = '" & paymentsPassedUpdateString & "', paidfl = 'Y', amountdue = '0' ")  

Кроме того, я бы рекомендовал придерживаться способа конкатенации VB и использовать для этого символ &.

1 голос
/ 25 октября 2010

Я не уверен, что не работает, но я могу сказать вам, что вы не собираетесь обрабатывать последнюю запись в ваших массивах. Вы переходите от 1 к длине - 1, что на одну позицию меньше последнего индекса. Поэтому, если ваши входные строки не заканчиваются на «-», вы пропустите последнюю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...