它在第二个(目标).db 数据库中正确创建了 Users 表,但是它没有使用原始 .db 数据库的 Users 表的数据填充它。这两个表是相同的。他们实际上什至都没有主键集。我需要将数据从原始表复制到目标表。
我尝试了以下操作,但复制部分没有成功:
public class DatabaseAccess
{
private static string _connDatabaseStringUsers = "URI=file:c:/TSV3/TS" + "DemoUsers" + ".db; Version=3; Journal Mode=Off; Synchronous=Off;";
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.SceneManagement;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Linq;
using Mono.Data.Sqlite;
using System.IO;
using System.Data;
using System;
public class GameInstance : Singleton<GameInstance> {
private SqliteConnection _conn4;
private SqliteConnection _conn5;
public void Start()
{
CreateTable();
}
public void CreateTable()
{
_conn4 = new SqliteConnection(DatabaseAccess.ConnDatabaseStringUsers);
_conn4.Open();
try
{
SqliteCommand cmd4 = new SqliteCommand("CREATE TABLE IF NOT EXISTS Users ('ID' INTEGER, 'FileNumber' TEXT, 'FamilyName' TEXT, 'Name' TEXT, 'ParentFolderID' INTEGER, 'AvatarSex' INTEGER, 'Role' INTEGER)", _conn4);
cmd4.ExecuteNonQuery();
}
catch (UnityException e)
{
Debug.LogError(e);
}
finally
{
_conn4.Close();
}
CopyTable();
}
public void CopyTable()
{
_conn5 = new SqliteConnection(DatabaseAccess.ConnDatabaseStringUsers);
_conn5.Open();
try
{
SqliteCommand cmd5 = new SqliteCommand("SELECT * INTO Users IN 'TSDemo.db' FROM Users", _conn5);
cmd5.ExecuteNonQuery();
}
catch (UnityException e)
{
Debug.LogError(e);
}
finally
{
_conn5.Close();
}
}
}
我希望将第一个 .db 数据库的用户表中的数据复制到第二个 .db 数据库的用户表中,但事实并非如此。但是,Unity 不会给我任何错误。正在创建表,但未向其中填充数据。
慕工程0101907
相关分类