使用Vb.net插入SQLite数据库?不会插入。我错过了什么? [英] Inserting into SQLite db with Vb.net? Won't insert. What am I missing?

查看:71
本文介绍了使用Vb.net插入SQLite数据库?不会插入。我错过了什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello All,



我正在尝试将电视剧集插入数据库。我已经尝试了所有东西,但它只会添加一个项目,最后一集。它正确迭代但它永远不会添加超过一个项目。我错过了什么?我知道这是一个愚蠢的事情,但我一直在盯着它看了一个多小时试图解决它但没有成功。数据库已创建,文件存在并打开。正确迭代....我错过了什么? Rrrrg。



有什么想法吗?



如果你有一秒,我很乐意通过交易来做(这就是我开始的地方),当然,那不是''也工作。



谢谢,



Josh



Hello All,

I am trying to insert a tv episode into a database. I have tried everything but it will only add one item, the last episode. It is iterating correctly but it never adds more than just one item. What am I missing? I know it is something stupid but I have been staring at this for over an hour trying to fix it but no success. Database is already created, file exists and opens. Iterates correctly.... WHAT AM I MISSING??? Rrrrg.

Any ideas?

And if you have a second, I would love to do it with a transaction (that''s where I started) but that, of course, didn''t work either.

Thanks,

Josh

Dim strFile As String = DBFile
Dim SQLconnect As New SQLiteConnection()

SQLconnect.ConnectionString = "Data Source=" & strFile
SQLconnect.Open()

For i As Integer = 0 To _TvSeries.Episodes.Length - 1

    ''SeriesId, EpisodeName, SeasonNumber, EpisodeNumber, Overview, Director, Rating, PosterUrl, Writers
    Try
        Dim cmd As New SQLiteCommand("Insert or Replace Into " & _TvSeries.SeriesName.Replace(" ", "_") & " (SeriesId,EpisodeName,SeasonNumber,EpisodeNumber,Overview,Director,Rating,PosterUrl,Writers) VALUES (@SeriesId, @EpisodeName, @SeasonNumber, @EpisodeNumber, @Overview, @Director, @Rating, @PosterUrl, @Writers);", SQLconnect)
        ''@SeriesId, EpisodeName, SeasonNumber, EpisodeNumber, Overview, Director, Rating, PosterUrl, Writers
        cmd.Parameters.Add("@SeriesId", Data.DbType.String).Value = _TvSeries.SeriesId
        cmd.Parameters.Add("@EpisodeName", Data.DbType.String).Value = _TvSeries.Episodes(i).EpisodeName
        cmd.Parameters.Add("@SeasonNumber", Data.DbType.String).Value = _TvSeries.Episodes(i).SeasonNumber
        cmd.Parameters.Add("@EpisodeNumber", Data.DbType.String).Value = _TvSeries.Episodes(i).EpisodeNumber
        cmd.Parameters.Add("@Overview", Data.DbType.String).Value = _TvSeries.Episodes(i).Overview
        cmd.Parameters.Add("@Director", Data.DbType.String).Value = _TvSeries.Episodes(i).Director
        cmd.Parameters.Add("@Rating", Data.DbType.String).Value = _TvSeries.Episodes(i).Rating
        cmd.Parameters.Add("@PosterUrl", Data.DbType.String).Value = _TvSeries.Episodes(i).PosterUrl

        Dim writers As String = ""
        For Each strwriters In _TvSeries.Episodes(i).Writers
            writers += strwriters + "|"
        Next
        cmd.Parameters.Add("@Writers", Data.DbType.String).Value = writers
        Dim inte As Integer = 0

        cmd.ExecuteNonQuery()


    Catch ex As Exception
        Debug.WriteLine(ex.Message.ToString)
    End Try
Next

Try

    Try
        SQLconnect.Close()
        If Not SQLconnect Is Nothing Then SQLconnect.Dispose()
    Catch ex As Exception

    End Try
Catch ex As Exception
    SQLconnect.Close()
End Try

推荐答案

叹了......想出来了。没有输入AUTOINCREMENTing主键。我有一把钥匙,但它并没有自动增量。所以对于那些找到这个的谷歌用户,你去了。
Sigh.... Figured it out. Didn''t put in an AUTOINCREMENTing primary key. I had a primary key, but it didn''t autoincrement. So for you google users that find this, there you go.


这篇关于使用Vb.net插入SQLite数据库?不会插入。我错过了什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆