Fråga : Den ogiltiga längden som passeras till SUBSTRINGEN, fungerar

Hälsningexperter,
I har WinForm som har primära 3 kontrollerar; lbTeamLeader för txtTeamName (text boxas) (den valda singeln listar boxas) och lbTeamMembers (mång--välj listar boxas). Den ska användaren skriver in ett känt lag i txtTeamName, väljer ett lag Leadr från lbTeamLeader och tillfogar medlemmar i lbTeamMembers.

This kodifierar arbeten i Queryfönstret:
USE nvarchar IP_MASTER
GO

DECLARE
@TeamName (50), nvarchar
@LeaderCode (10), nvarchar
@Leader (50), @TeamName för


Set för
@MemberCode nvarchar (50) = ”@LeaderCode för TEAM_PARKER'
Set = ”@Leader för PAR01'<-br/>Set = ”PETER PARKER, @MemberCode för PT'
Set = ”BUC01 - ALBOCKEN, PTA'



INSERT IN I
VALUES (@TeamName, @LeaderCode,
SUBSTRING (@Leader, CHARINDEX (”,”, @Leader) +1, LEN (@Leader) för tblUserTeams (TeamName, LeaderCode, LeaderDiscipline, MemberCode, MemberDiscipline) - CHARINDEX (”,,”, @Leader)),
LEFT (@MemberCode, (CHARINDEX (”-”, @MemberCode) - 1)),
SUBSTRING (@MemberCode, CHARINDEX (”,”, @MemberCode) +1, LEN (@MemberCode) - CHARINDEX (”,”, @MemberCode för )))

This kodifierar retur felet, ”den ogiltiga längden som passeras till SUBSTRINGEN, fungerar:


dunkelt I som Integer

om cn. Påstå = cn för ConnectionState.Closed Then
. Öppen ()
avslutar If

dunkel strTeamName som stränger = dunkel strLeader för txtTeamName.Text
som stränger = dunkel strLeaderCode för lbTeamLeader.Text
som stränger = dunkel myAdapter för lbTeamLeader.SelectedValue

som ny SqlClient.SqlDataAdapter

myAdapter.InsertCommand = ny SqlClient.SqlCommand
myAdapter.InsertCommand.Connection = cn
myAdapter.InsertCommand.CommandType = CommandType.Text
myAdapter.InsertCommand.CommandText =” MELLANLÄGGET IN I SUBSTRINGEN för _
, för tblUserTeams (TeamName, LeaderCode, LeaderDiscipline, MemberCode, MemberDiscipline) ”, & _
”VÄRDERAR (@TeamName, @LeaderCode,” & ”(@Leader, CHARINDEX (”,”, @Leader) +1, LEN (@Leader) - för CHARINDEX (”, ”, @Leader)),” & LÄMNAD _
”(@MemberCode, (CHARINDEX (”-”, @MemberCode) - 1))”


myAdapter.InsertCommand.Parameters. AddWithValue (”@TeamName”, strTeamName)
myAdapter.InsertCommand.Parameters. AddWithValue (”@LeaderCode”, strLeaderCode)
myAdapter.InsertCommand.Parameters. AddWithValue (”@Leader”, strLeader)
myAdapter.InsertCommand.Parameters. AddWithValue (”@MemberCode”, "")

Try
för I = 0 till lbTeamMember.SelectedItems.Count - 1
myAdapter.InsertCommand.Parameters (”@MemberCode”). Värdera =
Next
för
myAdapter.InsertCommand.ExecuteNonQuery för lbTeamMember.SelectedItems (I) .ToString () () fångar för att fela som SqlException
MsgBox (fela. Cn för
Finally
för meddelande). Nära ()
avslutar ska Try

Any hjälp uppskattas väldeliga,

JackW9653
" klar "

Svar : Den ogiltiga längden som passeras till SUBSTRINGEN, fungerar

Återställandet vägleder är här http://support.gateway.com/s/Manuals/gateway/GTW_SJV01_User_Guide_Eng.pdf

Sidor 11 och 12

Det korrekt stämm är ALT-F10, men du ska behov att läsa dokumentet, först innan du gjorde att som det finns a bet mer till det.
Andra lösningar  
 
programming4us programming4us