Hallo Multi-Wählen Experten, das
I morgens eine Ausgabe mit dem Erhalten des Wertes von habend Listbox in eine Tabelle des SQL-Servers 2005 vor. Wenn ich die APP laufen lasse, arbeitet alles richtig außer System.Data.DataRowView, das in die MemberCode Spalte im Daten table. The Listbox eingesetzt erhält, wird geladen vom folgenden:
Try verdunkeln Papierlösekorotron, während neues DataTable strSelect verdunkeln, während Schnur = „auserwähltes UserCode, (UserCode+'- „+FName+“ „+LName+“, „+Discipline) als Name vom tblUsersData, IN DEM Prov_Type = N'U“ UND NICHT IN („OT“, „Pint“, „Str.“, „MD“) ORDER DURCH LName " disziplinieren verdunkeln sqlDA, wie SqlClient.SqlDataAdapter = neues SqlClient.SqlDataAdapter (strSelect, KN) sqlDA.Fill (Papierlösekorotron) lbTeamMember.DisplayMember = „Name " lbTeamMember.ValueMember = „UserCode " lbTeamMember.DataSource = dt Fang als SqlClient.SqlException MessageBox.Show sich irren („Eine Störung trat in GetAllUsers -“ auf u. irrt sich. Mitteilung) Ende Try
So ja wird sie zum DataTable gesprungen und die ist die Wurzel des System.Data.DataRowView, das in die Datenbank eingesetzt erhält. Der folgende Code wird verwendet, um die Einfügung zu tun:
If KN. Zustand- = ConnectionState.Closed-Then KN. Geöffnetes () Ende If
verdunkeln i als Integer
schwaches strTeamName als Schnur = txtTeamName.Text schwaches strLeader als Schnur = lbTeamLeader.Text schwaches strLeaderCode als Schnur = lbTeamLeader.SelectedValue schwaches strMember als Schnur = lbTeamMember.SelectedValue.ToString schwaches myAdapter als neues SqlClient.SqlDataAdapter
myAdapter.InsertCommand = neues SqlClient.SqlCommand myAdapter.InsertCommand.Connection = cn myAdapter.InsertCommand.CommandType = CommandType.Text myAdapter.InsertCommand.CommandText = „EINSATZ IN tblUserTeams (TeamName, LeaderCode, LeaderDiscipline, MemberCode, MemberDiscipline)“ u. _ „WERTE (@TeamName, @LeaderCode,“ u. _ „Fall, wenn @Leader „% mögen,“ dann“ u. _ „% der TEILKETTE (@Leader, CHARINDEX („,“, @Leader) +1, LEN (@Leader) -CHARINDEX („,“, @Leader)) '' sonst beenden, „u. _ „% wenn @membercode dann NACH LINKS (@MemberCode, (CHARINDEX des Falles („mögen -“, @MemberCode) - 1)) sonst @MemberCode „%-%“ Ende, „u. _ „Fall, wenn @MemberCode „%,“ dann“ u. _ „TEILKETTE mögen (@MemberCode, CHARINDEX („,“, @MemberCode) +1, LEN (@MemberCode) - CHARINDEX („,“, @MemberCode)) sonst '' Ende) „
myAdapter.InsertCommand.Parameters. AddWithValue („@TeamName“, strTeamName) myAdapter.InsertCommand.Parameters. AddWithValue („@LeaderCode“, strLeaderCode) myAdapter.InsertCommand.Parameters. AddWithValue („@Leader“, strLeader) myAdapter.InsertCommand.Parameters. AddWithValue („@MemberCode“, strMember)
Try für i = 0 zu lbTeamMember.SelectedItems.Count - 1 myAdapter.InsertCommand.Parameters („@MemberCode“). Wert = lbTeamMember.SelectedItems(i).ToString () myAdapter.InsertCommand.ExecuteNonQuery () Next Fang irren sich als SqlException MsgBox (sich irren. Mitteilung) Finally KN. Abschluss () Ende Try
I haben die Variablen durch zur Versuch-/Fangklausel nachvollzogen und alles ist bis dort gut. Nachher, dass es alle korrekten Daten und die korrekte Zahl Aufzeichnungen aber System.Data.DataRowView in der MemberCode Spalte einsetzt. Ich habe einige verschiedene Methoden versucht, aber ich kann das DataRowView nicht in eine String.
Any Hilfe umwandeln würde geschätzt,
JackW
|