mise à jour de colonne autoincrement via un dataset
5 réponses
Pierre
Bonjour,
Soit une table "contact", dont la colonne "contact_id" est la clé primaire,
définie en autoincrement,
je souhaite ajouter une ligne dans cette table via un dataset et son
dataadapter.
Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas
les valeurs null
Merci d'avance.
Pierre.
----------------------------------
Voici le code :
dim conn As SqlConnection
dim da As SqlDataAdapter
dim ds As DataSet
dim ta As DataTable
dim pk(1) As DataColumn
dim dr As DataRow
conn = New
SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
sql = "SELECT contact_id, nom, prenom FROM contact"
da = New SqlDataAdapter(sql, conn)
ds = New DataSet
da.Fill(ds, "BDobjet")
da.SelectCommand.CommandText = sql
Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
ta = ds.Tables("contact")
pk(0) = ta.Columns("salle_id")
ta.PrimaryKey = pk
dr = ta.NewRow
dr("nom")= "toto"
dr("prenom")="tata"
dr.AcceptChanges()
ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id'
n'autorise pas les valeurs null. Or la colonne 'contact_id' est en
autoincrement.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
YJLAMOTTE
Bonjour,
Je peux me tromper mais je pense que ton DA ne prends pas en compte le fait que tu sois en autoincrement.. il fonctionne en déconnecté. il gère donc tout en mémoire. C'est au moment ou tu valideras les changements qu'il "oubliera" ton ID pour laisser la base s'en charger.
Si je dis une bêtise dites le moi.
YJLAMOTTE
"Pierre" a écrit :
Bonjour,
Soit une table "contact", dont la colonne "contact_id" est la clé primaire, définie en autoincrement,
je souhaite ajouter une ligne dans cette table via un dataset et son dataadapter. Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas les valeurs null
Merci d'avance.
Pierre.
----------------------------------
Voici le code :
dim conn As SqlConnection dim da As SqlDataAdapter dim ds As DataSet dim ta As DataTable dim pk(1) As DataColumn dim dr As DataRow
conn = New SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
sql = "SELECT contact_id, nom, prenom FROM contact" da = New SqlDataAdapter(sql, conn)
ds = New DataSet da.Fill(ds, "BDobjet")
da.SelectCommand.CommandText = sql Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
ta = ds.Tables("contact")
pk(0) = ta.Columns("salle_id") ta.PrimaryKey = pk
dr = ta.NewRow dr("nom")= "toto" dr("prenom")="tata"
dr.AcceptChanges()
ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' n'autorise pas les valeurs null. Or la colonne 'contact_id' est en autoincrement.
da.Update(ta)
Bonjour,
Je peux me tromper mais je pense que ton DA ne prends pas en compte le fait
que tu sois en autoincrement.. il fonctionne en déconnecté. il gère donc tout
en mémoire. C'est au moment ou tu valideras les changements qu'il "oubliera"
ton ID pour laisser la base s'en charger.
Si je dis une bêtise dites le moi.
YJLAMOTTE
"Pierre" a écrit :
Bonjour,
Soit une table "contact", dont la colonne "contact_id" est la clé primaire,
définie en autoincrement,
je souhaite ajouter une ligne dans cette table via un dataset et son
dataadapter.
Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas
les valeurs null
Merci d'avance.
Pierre.
----------------------------------
Voici le code :
dim conn As SqlConnection
dim da As SqlDataAdapter
dim ds As DataSet
dim ta As DataTable
dim pk(1) As DataColumn
dim dr As DataRow
conn = New
SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
sql = "SELECT contact_id, nom, prenom FROM contact"
da = New SqlDataAdapter(sql, conn)
ds = New DataSet
da.Fill(ds, "BDobjet")
da.SelectCommand.CommandText = sql
Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
ta = ds.Tables("contact")
pk(0) = ta.Columns("salle_id")
ta.PrimaryKey = pk
dr = ta.NewRow
dr("nom")= "toto"
dr("prenom")="tata"
dr.AcceptChanges()
ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id'
n'autorise pas les valeurs null. Or la colonne 'contact_id' est en
autoincrement.
Je peux me tromper mais je pense que ton DA ne prends pas en compte le fait que tu sois en autoincrement.. il fonctionne en déconnecté. il gère donc tout en mémoire. C'est au moment ou tu valideras les changements qu'il "oubliera" ton ID pour laisser la base s'en charger.
Si je dis une bêtise dites le moi.
YJLAMOTTE
"Pierre" a écrit :
Bonjour,
Soit une table "contact", dont la colonne "contact_id" est la clé primaire, définie en autoincrement,
je souhaite ajouter une ligne dans cette table via un dataset et son dataadapter. Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas les valeurs null
Merci d'avance.
Pierre.
----------------------------------
Voici le code :
dim conn As SqlConnection dim da As SqlDataAdapter dim ds As DataSet dim ta As DataTable dim pk(1) As DataColumn dim dr As DataRow
conn = New SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
sql = "SELECT contact_id, nom, prenom FROM contact" da = New SqlDataAdapter(sql, conn)
ds = New DataSet da.Fill(ds, "BDobjet")
da.SelectCommand.CommandText = sql Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
ta = ds.Tables("contact")
pk(0) = ta.Columns("salle_id") ta.PrimaryKey = pk
dr = ta.NewRow dr("nom")= "toto" dr("prenom")="tata"
dr.AcceptChanges()
ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' n'autorise pas les valeurs null. Or la colonne 'contact_id' est en autoincrement.
da.Update(ta)
alahlou
bonjour regardes ce lien, ils expliquent comment ca marche http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement Abdelkrim LAHLOU
"Pierre" wrote:
Bonjour,
Soit une table "contact", dont la colonne "contact_id" est la clé primaire, définie en autoincrement,
je souhaite ajouter une ligne dans cette table via un dataset et son dataadapter. Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas les valeurs null
Merci d'avance.
Pierre.
----------------------------------
Voici le code :
dim conn As SqlConnection dim da As SqlDataAdapter dim ds As DataSet dim ta As DataTable dim pk(1) As DataColumn dim dr As DataRow
conn = New SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
sql = "SELECT contact_id, nom, prenom FROM contact" da = New SqlDataAdapter(sql, conn)
ds = New DataSet da.Fill(ds, "BDobjet")
da.SelectCommand.CommandText = sql Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
ta = ds.Tables("contact")
pk(0) = ta.Columns("salle_id") ta.PrimaryKey = pk
dr = ta.NewRow dr("nom")= "toto" dr("prenom")="tata"
dr.AcceptChanges()
ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' n'autorise pas les valeurs null. Or la colonne 'contact_id' est en autoincrement.
da.Update(ta)
bonjour
regardes ce lien, ils expliquent comment ca marche
http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement
Abdelkrim LAHLOU
"Pierre" wrote:
Bonjour,
Soit une table "contact", dont la colonne "contact_id" est la clé primaire,
définie en autoincrement,
je souhaite ajouter une ligne dans cette table via un dataset et son
dataadapter.
Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas
les valeurs null
Merci d'avance.
Pierre.
----------------------------------
Voici le code :
dim conn As SqlConnection
dim da As SqlDataAdapter
dim ds As DataSet
dim ta As DataTable
dim pk(1) As DataColumn
dim dr As DataRow
conn = New
SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
sql = "SELECT contact_id, nom, prenom FROM contact"
da = New SqlDataAdapter(sql, conn)
ds = New DataSet
da.Fill(ds, "BDobjet")
da.SelectCommand.CommandText = sql
Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
ta = ds.Tables("contact")
pk(0) = ta.Columns("salle_id")
ta.PrimaryKey = pk
dr = ta.NewRow
dr("nom")= "toto"
dr("prenom")="tata"
dr.AcceptChanges()
ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id'
n'autorise pas les valeurs null. Or la colonne 'contact_id' est en
autoincrement.
bonjour regardes ce lien, ils expliquent comment ca marche http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement Abdelkrim LAHLOU
"Pierre" wrote:
Bonjour,
Soit une table "contact", dont la colonne "contact_id" est la clé primaire, définie en autoincrement,
je souhaite ajouter une ligne dans cette table via un dataset et son dataadapter. Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas les valeurs null
Merci d'avance.
Pierre.
----------------------------------
Voici le code :
dim conn As SqlConnection dim da As SqlDataAdapter dim ds As DataSet dim ta As DataTable dim pk(1) As DataColumn dim dr As DataRow
conn = New SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
sql = "SELECT contact_id, nom, prenom FROM contact" da = New SqlDataAdapter(sql, conn)
ds = New DataSet da.Fill(ds, "BDobjet")
da.SelectCommand.CommandText = sql Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
ta = ds.Tables("contact")
pk(0) = ta.Columns("salle_id") ta.PrimaryKey = pk
dr = ta.NewRow dr("nom")= "toto" dr("prenom")="tata"
dr.AcceptChanges()
ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' n'autorise pas les valeurs null. Or la colonne 'contact_id' est en autoincrement.
da.Update(ta)
YJLAMOTTE
Ca me rassure, j'étais bien sur la bonne voie.
bel article.
YJLAMOTTE
"alahlou" a écrit :
bonjour regardes ce lien, ils expliquent comment ca marche http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement Abdelkrim LAHLOU
"Pierre" wrote:
> Bonjour, > > Soit une table "contact", dont la colonne "contact_id" est la clé primaire, > définie en autoincrement, > > je souhaite ajouter une ligne dans cette table via un dataset et son > dataadapter. > Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas > les valeurs null > > Merci d'avance. > > Pierre. > > ---------------------------------- > > Voici le code : > > dim conn As SqlConnection > dim da As SqlDataAdapter > dim ds As DataSet > dim ta As DataTable > dim pk(1) As DataColumn > dim dr As DataRow > > conn = New > SqlConnection(ConfigurationSettings.AppSettings("connectionString")) > > sql = "SELECT contact_id, nom, prenom FROM contact" > da = New SqlDataAdapter(sql, conn) > > ds = New DataSet > da.Fill(ds, "BDobjet") > > da.SelectCommand.CommandText = sql > Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da) > > ta = ds.Tables("contact") > > pk(0) = ta.Columns("salle_id") > ta.PrimaryKey = pk > > dr = ta.NewRow > dr("nom")= "toto" > dr("prenom")="tata" > > dr.AcceptChanges() > > ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' > n'autorise pas les valeurs null. Or la colonne 'contact_id' est en > autoincrement. > > da.Update(ta) > > >
Ca me rassure, j'étais bien sur la bonne voie.
bel article.
YJLAMOTTE
"alahlou" a écrit :
bonjour
regardes ce lien, ils expliquent comment ca marche
http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement
Abdelkrim LAHLOU
"Pierre" wrote:
> Bonjour,
>
> Soit une table "contact", dont la colonne "contact_id" est la clé primaire,
> définie en autoincrement,
>
> je souhaite ajouter une ligne dans cette table via un dataset et son
> dataadapter.
> Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas
> les valeurs null
>
> Merci d'avance.
>
> Pierre.
>
> ----------------------------------
>
> Voici le code :
>
> dim conn As SqlConnection
> dim da As SqlDataAdapter
> dim ds As DataSet
> dim ta As DataTable
> dim pk(1) As DataColumn
> dim dr As DataRow
>
> conn = New
> SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
>
> sql = "SELECT contact_id, nom, prenom FROM contact"
> da = New SqlDataAdapter(sql, conn)
>
> ds = New DataSet
> da.Fill(ds, "BDobjet")
>
> da.SelectCommand.CommandText = sql
> Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
>
> ta = ds.Tables("contact")
>
> pk(0) = ta.Columns("salle_id")
> ta.PrimaryKey = pk
>
> dr = ta.NewRow
> dr("nom")= "toto"
> dr("prenom")="tata"
>
> dr.AcceptChanges()
>
> ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id'
> n'autorise pas les valeurs null. Or la colonne 'contact_id' est en
> autoincrement.
>
> da.Update(ta)
>
>
>
bonjour regardes ce lien, ils expliquent comment ca marche http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement Abdelkrim LAHLOU
"Pierre" wrote:
> Bonjour, > > Soit une table "contact", dont la colonne "contact_id" est la clé primaire, > définie en autoincrement, > > je souhaite ajouter une ligne dans cette table via un dataset et son > dataadapter. > Mais la page retourne une erreur : La colonne 'contact_id' n'autorise pas > les valeurs null > > Merci d'avance. > > Pierre. > > ---------------------------------- > > Voici le code : > > dim conn As SqlConnection > dim da As SqlDataAdapter > dim ds As DataSet > dim ta As DataTable > dim pk(1) As DataColumn > dim dr As DataRow > > conn = New > SqlConnection(ConfigurationSettings.AppSettings("connectionString")) > > sql = "SELECT contact_id, nom, prenom FROM contact" > da = New SqlDataAdapter(sql, conn) > > ds = New DataSet > da.Fill(ds, "BDobjet") > > da.SelectCommand.CommandText = sql > Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da) > > ta = ds.Tables("contact") > > pk(0) = ta.Columns("salle_id") > ta.PrimaryKey = pk > > dr = ta.NewRow > dr("nom")= "toto" > dr("prenom")="tata" > > dr.AcceptChanges() > > ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' > n'autorise pas les valeurs null. Or la colonne 'contact_id' est en > autoincrement. > > da.Update(ta) > > >
Pierre
Salut,
Effectivement, j'ai trouvé la solution entre temps : j'affecte 0 à la colonne en question et l'update du dataset vers la bd se passe bien.
Merci.
Pierre.
"YJLAMOTTE" a écrit dans le message de news:
Bonjour,
Je peux me tromper mais je pense que ton DA ne prends pas en compte le
fait
que tu sois en autoincrement.. il fonctionne en déconnecté. il gère donc
tout
en mémoire. C'est au moment ou tu valideras les changements qu'il
"oubliera"
ton ID pour laisser la base s'en charger.
Si je dis une bêtise dites le moi.
YJLAMOTTE
"Pierre" a écrit :
> Bonjour, > > Soit une table "contact", dont la colonne "contact_id" est la clé
primaire,
> définie en autoincrement, > > je souhaite ajouter une ligne dans cette table via un dataset et son > dataadapter. > Mais la page retourne une erreur : La colonne 'contact_id' n'autorise
pas
> les valeurs null > > Merci d'avance. > > Pierre. > > ---------------------------------- > > Voici le code : > > dim conn As SqlConnection > dim da As SqlDataAdapter > dim ds As DataSet > dim ta As DataTable > dim pk(1) As DataColumn > dim dr As DataRow > > conn = New > SqlConnection(ConfigurationSettings.AppSettings("connectionString")) > > sql = "SELECT contact_id, nom, prenom FROM contact" > da = New SqlDataAdapter(sql, conn) > > ds = New DataSet > da.Fill(ds, "BDobjet") > > da.SelectCommand.CommandText = sql > Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da) > > ta = ds.Tables("contact") > > pk(0) = ta.Columns("salle_id") > ta.PrimaryKey = pk > > dr = ta.NewRow > dr("nom")= "toto" > dr("prenom")="tata" > > dr.AcceptChanges() > > ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' > n'autorise pas les valeurs null. Or la colonne 'contact_id' est en > autoincrement. > > da.Update(ta) > > >
Salut,
Effectivement, j'ai trouvé la solution entre temps : j'affecte 0 à la
colonne en question et l'update du dataset vers la bd se passe bien.
Merci.
Pierre.
"YJLAMOTTE" <YJLAMOTTE@discussions.microsoft.com> a écrit dans le message de
news:4A2B174B-FDF5-4113-A3F6-6D19D6E80CC0@microsoft.com...
Bonjour,
Je peux me tromper mais je pense que ton DA ne prends pas en compte le
fait
que tu sois en autoincrement.. il fonctionne en déconnecté. il gère donc
tout
en mémoire. C'est au moment ou tu valideras les changements qu'il
"oubliera"
ton ID pour laisser la base s'en charger.
Si je dis une bêtise dites le moi.
YJLAMOTTE
"Pierre" a écrit :
> Bonjour,
>
> Soit une table "contact", dont la colonne "contact_id" est la clé
primaire,
> définie en autoincrement,
>
> je souhaite ajouter une ligne dans cette table via un dataset et son
> dataadapter.
> Mais la page retourne une erreur : La colonne 'contact_id' n'autorise
pas
> les valeurs null
>
> Merci d'avance.
>
> Pierre.
>
> ----------------------------------
>
> Voici le code :
>
> dim conn As SqlConnection
> dim da As SqlDataAdapter
> dim ds As DataSet
> dim ta As DataTable
> dim pk(1) As DataColumn
> dim dr As DataRow
>
> conn = New
> SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
>
> sql = "SELECT contact_id, nom, prenom FROM contact"
> da = New SqlDataAdapter(sql, conn)
>
> ds = New DataSet
> da.Fill(ds, "BDobjet")
>
> da.SelectCommand.CommandText = sql
> Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
>
> ta = ds.Tables("contact")
>
> pk(0) = ta.Columns("salle_id")
> ta.PrimaryKey = pk
>
> dr = ta.NewRow
> dr("nom")= "toto"
> dr("prenom")="tata"
>
> dr.AcceptChanges()
>
> ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id'
> n'autorise pas les valeurs null. Or la colonne 'contact_id' est en
> autoincrement.
>
> da.Update(ta)
>
>
>
Effectivement, j'ai trouvé la solution entre temps : j'affecte 0 à la colonne en question et l'update du dataset vers la bd se passe bien.
Merci.
Pierre.
"YJLAMOTTE" a écrit dans le message de news:
Bonjour,
Je peux me tromper mais je pense que ton DA ne prends pas en compte le
fait
que tu sois en autoincrement.. il fonctionne en déconnecté. il gère donc
tout
en mémoire. C'est au moment ou tu valideras les changements qu'il
"oubliera"
ton ID pour laisser la base s'en charger.
Si je dis une bêtise dites le moi.
YJLAMOTTE
"Pierre" a écrit :
> Bonjour, > > Soit une table "contact", dont la colonne "contact_id" est la clé
primaire,
> définie en autoincrement, > > je souhaite ajouter une ligne dans cette table via un dataset et son > dataadapter. > Mais la page retourne une erreur : La colonne 'contact_id' n'autorise
pas
> les valeurs null > > Merci d'avance. > > Pierre. > > ---------------------------------- > > Voici le code : > > dim conn As SqlConnection > dim da As SqlDataAdapter > dim ds As DataSet > dim ta As DataTable > dim pk(1) As DataColumn > dim dr As DataRow > > conn = New > SqlConnection(ConfigurationSettings.AppSettings("connectionString")) > > sql = "SELECT contact_id, nom, prenom FROM contact" > da = New SqlDataAdapter(sql, conn) > > ds = New DataSet > da.Fill(ds, "BDobjet") > > da.SelectCommand.CommandText = sql > Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da) > > ta = ds.Tables("contact") > > pk(0) = ta.Columns("salle_id") > ta.PrimaryKey = pk > > dr = ta.NewRow > dr("nom")= "toto" > dr("prenom")="tata" > > dr.AcceptChanges() > > ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' > n'autorise pas les valeurs null. Or la colonne 'contact_id' est en > autoincrement. > > da.Update(ta) > > >
Pierre
Merci pour ces infos.
Bonne continuation.
Pierre.
"alahlou" a écrit dans le message de news:
bonjour regardes ce lien, ils expliquent comment ca marche http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement Abdelkrim LAHLOU
"Pierre" wrote:
> Bonjour, > > Soit une table "contact", dont la colonne "contact_id" est la clé
primaire,
> définie en autoincrement, > > je souhaite ajouter une ligne dans cette table via un dataset et son > dataadapter. > Mais la page retourne une erreur : La colonne 'contact_id' n'autorise
pas
> les valeurs null > > Merci d'avance. > > Pierre. > > ---------------------------------- > > Voici le code : > > dim conn As SqlConnection > dim da As SqlDataAdapter > dim ds As DataSet > dim ta As DataTable > dim pk(1) As DataColumn > dim dr As DataRow > > conn = New > SqlConnection(ConfigurationSettings.AppSettings("connectionString")) > > sql = "SELECT contact_id, nom, prenom FROM contact" > da = New SqlDataAdapter(sql, conn) > > ds = New DataSet > da.Fill(ds, "BDobjet") > > da.SelectCommand.CommandText = sql > Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da) > > ta = ds.Tables("contact") > > pk(0) = ta.Columns("salle_id") > ta.PrimaryKey = pk > > dr = ta.NewRow > dr("nom")= "toto" > dr("prenom")="tata" > > dr.AcceptChanges() > > ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' > n'autorise pas les valeurs null. Or la colonne 'contact_id' est en > autoincrement. > > da.Update(ta) > > >
Merci pour ces infos.
Bonne continuation.
Pierre.
"alahlou" <alahlou@discussions.microsoft.com> a écrit dans le message de
news:75077370-C405-4104-B6DE-C5BF23F45D91@microsoft.com...
bonjour
regardes ce lien, ils expliquent comment ca marche
http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement
Abdelkrim LAHLOU
"Pierre" wrote:
> Bonjour,
>
> Soit une table "contact", dont la colonne "contact_id" est la clé
primaire,
> définie en autoincrement,
>
> je souhaite ajouter une ligne dans cette table via un dataset et son
> dataadapter.
> Mais la page retourne une erreur : La colonne 'contact_id' n'autorise
pas
> les valeurs null
>
> Merci d'avance.
>
> Pierre.
>
> ----------------------------------
>
> Voici le code :
>
> dim conn As SqlConnection
> dim da As SqlDataAdapter
> dim ds As DataSet
> dim ta As DataTable
> dim pk(1) As DataColumn
> dim dr As DataRow
>
> conn = New
> SqlConnection(ConfigurationSettings.AppSettings("connectionString"))
>
> sql = "SELECT contact_id, nom, prenom FROM contact"
> da = New SqlDataAdapter(sql, conn)
>
> ds = New DataSet
> da.Fill(ds, "BDobjet")
>
> da.SelectCommand.CommandText = sql
> Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da)
>
> ta = ds.Tables("contact")
>
> pk(0) = ta.Columns("salle_id")
> ta.PrimaryKey = pk
>
> dr = ta.NewRow
> dr("nom")= "toto"
> dr("prenom")="tata"
>
> dr.AcceptChanges()
>
> ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id'
> n'autorise pas les valeurs null. Or la colonne 'contact_id' est en
> autoincrement.
>
> da.Update(ta)
>
>
>
bonjour regardes ce lien, ils expliquent comment ca marche http://www.akadia.com/services/dotnet_autoincrement.html
Cordialement Abdelkrim LAHLOU
"Pierre" wrote:
> Bonjour, > > Soit une table "contact", dont la colonne "contact_id" est la clé
primaire,
> définie en autoincrement, > > je souhaite ajouter une ligne dans cette table via un dataset et son > dataadapter. > Mais la page retourne une erreur : La colonne 'contact_id' n'autorise
pas
> les valeurs null > > Merci d'avance. > > Pierre. > > ---------------------------------- > > Voici le code : > > dim conn As SqlConnection > dim da As SqlDataAdapter > dim ds As DataSet > dim ta As DataTable > dim pk(1) As DataColumn > dim dr As DataRow > > conn = New > SqlConnection(ConfigurationSettings.AppSettings("connectionString")) > > sql = "SELECT contact_id, nom, prenom FROM contact" > da = New SqlDataAdapter(sql, conn) > > ds = New DataSet > da.Fill(ds, "BDobjet") > > da.SelectCommand.CommandText = sql > Dim cmdTableMgmt As SqlCommandBuilder = New SqlCommandBuilder(da) > > ta = ds.Tables("contact") > > pk(0) = ta.Columns("salle_id") > ta.PrimaryKey = pk > > dr = ta.NewRow > dr("nom")= "toto" > dr("prenom")="tata" > > dr.AcceptChanges() > > ta.Rows.Add(dr) 'L'erreur se produit ici : La colonne 'contact_id' > n'autorise pas les valeurs null. Or la colonne 'contact_id' est en > autoincrement. > > da.Update(ta) > > >