SQL insert   zodpovězená otázka

VB.NET

Dobrý den,

snažím se o zadání dat do SQL tabulky. Bohužel z mě neznámých důvodů mi zde stále naskakuje chyba:

SqlException was unhandled - String or binary data would be truncated.The statement has been terminated.

Tady je kód programu:

Imports System
Imports System.Management
Imports System.Configuration
Imports System.Data
Imports System.Data.SqlClient
Module Module1

    Sub Main()
        Dim ConnectionString As String = System.Configuration.ConfigurationManager.AppSettings("TestovaciDatabaze")

        Dim sqlConnection As New SqlClient.SqlConnection(ConnectionString) ' inicializace objektu spojení na databázi

        Dim sqlCommand As New SqlCommand("SELECT COUNT(*) FROM [TestTable]", sqlConnection)

        Dim myDataToInsert As String = getSenderGeneralInfo()
        Dim sqlCommand2 As New SqlCommand("INSERT INTO [TestTable] ([sloupek1]) VALUES ('" & myDataToInsert & "')", sqlConnection)



        sqlConnection.Open() ' pomocí dat z ConnectionStringu spojení otevřeme
        Console.WriteLine(String.Format("Verze serveru: {0}", sqlConnection.ServerVersion))
        Console.WriteLine(String.Format("Identifikace serveru: {0}", sqlConnection.WorkstationId))
        Console.WriteLine()
        Console.WriteLine(String.Format("Počet záznamů: {0}", CInt(sqlCommand.ExecuteScalar())))


        sqlCommand2.ExecuteNonQuery()



        sqlConnection.Close() ' a zase uzavřeme



        Console.ReadLine()
    End Sub

    Public Function getSenderGeneralInfo()
        Dim testVariable As String = ""
        Dim mngmtClass As ManagementClass
        mngmtClass = New ManagementClass("Win32_ComputerSystem")
        Dim mngmtObject As ManagementObject
        For Each mngmtObject In mngmtClass.GetInstances()
            Dim myVal1 As String
            Dim myVal2 As String
            myVal1 = mngmtObject("DNSHostName")
            myVal2 = mngmtObject("Model")
            testVariable = myVal1 & "" & myVal2
        Next
        Return (testVariable)
    End Function

End Module

Data to ze SQL serveru vypíše, v pořádku pokud místo proměnné dávám do příkazu přímo text, tak je to také v pořádku. Například následující je vždy OK a data se v tabulce objeví.

INSERT INTO [TestTable] ([sloupek1]) VALUES ('test')

Díky moc Ruda Dvořák

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nepředáváte insert commandu žádnou hodnotu.takto se to nedělá.podívejte se na tutoriál o sql zde na webu ;-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdravim,

Pravdepodobne je vas sloupec v databazi mensi nez vkladany retezec. (tzn. "sloupek1" je treba varchar(50) a snazi se do nej vlozit 100 znaku.)

Snad vam to pomuze :]

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback