2017-02-01 2 views
0

[ceci est mes codes pour Visual Basic]Visual Basic connecté à la base de données SQL. L'instruction d'insertion me donne une erreur de "chaîne ou des données binaires seraient tronquées."

Dim Command As New SqlCommand 
    Command.Connection = CN 
    Dim ms As New MemoryStream 
    ConON() 

    Command.CommandText = "Insert into tbl_profile(Lastname,Firstname,Gender,Birthdate,ContactNum," & _ 
        "Housenumstreet,Brgydistrict,Cityprovince) values ('" & AddProfile.tbxlname.Text & "','" & AddProfile.tbxfname.Text & _ 
        "','female','" & AddProfile.tbxbdate.Text & "','" & AddProfile.tbxcontactnum.Text & _ 
       "','" & AddProfile.tbxhousenostrt.Text & "','" & AddProfile.tbxbrgy.Text & "','" & AddProfile.tbxcity.Text & "')" 

    Command.ExecuteNonQuery() 

et mon code sur sql:

Create table tbl_profile 
(
[IdentityID] bigint identity(1,1), 
Lastname varchar(max), 
Firstname varchar(max), 
Gender varchar null, 
Birthdate varchar(max) null, 
ContactNum varchar(max) null, 
Housenumstreet varchar(max) null, 
Brgydistrict varchar(max) null, 
Cityprovince varchar(max) null, 
Picture1 Image, 
Picture2 Image null 
) 

insert statement on sql

+0

s'il vous plaît envoyer votre code sous forme de texte au lieu de l'image –

Répondre

0

vous ne spécifiez une longueur de votre colonne "genre". Par défaut, un varchar a une longueur par défaut de 30 caractères, mais si votre texte a des espaces blancs, il pourrait très bien dépasser cette longueur.

EDIT

donner quelques valeurs d'échantillon que vous essayez d'insérer. En outre, cette erreur se produit-elle uniquement lorsque vous exécutez à partir de VB ou obtenez-vous l'erreur lorsque vous insérez les valeurs SAME directement via SMSS?

Essayer un échantillon comme si, peut-être sans les images

if not (OBJECT_ID('tempdb..#tbl_profile') is null) 
    drop table #tbl_profile 
create table #tbl_profile 
(
    IdentityID int identity(1,1), 
    LastName varchar(max) null, 
    FirstName varchar(max) null, 
    Gender varchar(50) null, 
    Birthdate datetime null, 
    ContactNum varchar(max) null, 
    Housenumstreet varchar(max) null, 
    Brgydistrict varchar(max) null, 
    Cityprovince varchar(max) null, 
    Picture1 image null, 
    Picture2 image null, 
    primary key clustered 
    (
     IdentityID asc 
    ) 
) 

insert into 
#tbl_profile 
(
    LastName, 
    FirstName, 
    Gender, 
    Birthdate, 
    ContactNum, 
    Housenumstreet, 
    Brgydistrict, 
    Cityprovince 
) 
select 
    'Doe', 
    'John', 
    'Male', 
    '2017-02-01', 
    '12345678900', 
    'Some random street somehwhere out there', 
    'District 13', 
    'Province of Glory' 

select * from #tbl_profile 
+0

je l'ai déjà essayé de l'exécuter sans la colonne de genre, mais il n'a toujours pas fonctionné. TT – Smilessss

+0

Nous aurons besoin de plus de détails. Voir mon edit – TheDanMan

+0

C'est seulement dans mon vb. Je peux insérer des valeurs très bien sur ma requête db. T_T – Smilessss