Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

problème de parametre

1 réponse
Avatar
André
Salut,

J'ai fait un detailsview pour insérér des données dans une table.
J'ai aussi fait un dropdownlist dont la valeur sélectée doit aller dans un
des champs du detailsview.

Dans <InsertParameters> j'ai retiré le parametre 'lo' car je l'ajoute par le
code-behind.

Mo, problème est:
"No value given for one or more required parameters"

Dans aspx:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConflictDetection="CompareAllValues"
ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\mytable.mdb"
...
InsertCommand="INSERT INTO [pc] ([na], [deft], [lo]) VALUES (?, ?, @lo)"
OldValuesParameterFormatString="original_{0}"
ProviderName="System.Data.OleDb"
<InsertParameters>
<asp:Parameter Name="na" Type="String" />
<asp:Parameter Name="deft" Type="Boolean" />
</InsertParameters>

Si j'ajoute ceci, ça marche (avec cette valeur)
<asp:Parameter Name="anything" DefaultValue="1-45" Type="String" />

code-behind:
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Dim lo As String
lo = DropDownList1.SelectedValue
SqlDataSource1.InsertParameters.Add("lo", lo)
End Sub

Qu'est-ce qui cloche?
Merci de m'aider.
André

1 réponse

Avatar
Thomas31
Salut,
Je crois que c'est là :

SqlDataSource1.InsertParameters.Add("lo", lo)



ex
objSqlCmd.Parameters.Add("@Login",SqlDbType.VarChar);
bjSqlCmd.Parameters["@Login"].Value=txtLogin.Text;

Il faut ajouter le paramètre puis le renseigner.
Source : http://www.dotnet-news.com/lien.aspx?ID073
Thomas
"André" a écrit :

Salut,

J'ai fait un detailsview pour insérér des données dans une table.
J'ai aussi fait un dropdownlist dont la valeur sélectée doit aller dans un
des champs du detailsview.

Dans <InsertParameters> j'ai retiré le parametre 'lo' car je l'ajoute par le
code-behind.

Mo, problème est:
"No value given for one or more required parameters"

Dans aspx:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConflictDetection="CompareAllValues"
ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:mytable.mdb"
....
InsertCommand="INSERT INTO [pc] ([na], [deft], [lo]) VALUES (?, ?, @lo)"
OldValuesParameterFormatString="original_{0}"
ProviderName="System.Data.OleDb"
<InsertParameters>
<asp:Parameter Name="na" Type="String" />
<asp:Parameter Name="deft" Type="Boolean" />
</InsertParameters>

Si j'ajoute ceci, ça marche (avec cette valeur)
<asp:Parameter Name="anything" DefaultValue="1-45" Type="String" />

code-behind:
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Dim lo As String
lo = DropDownList1.SelectedValue
SqlDataSource1.InsertParameters.Add("lo", lo)
End Sub

Qu'est-ce qui cloche?
Merci de m'aider.
André