我有以下问题:我有一个统一的脚本(C#),它与数据库建立连接。它在GameObject中自己提供它,并且通过放置名称为Start的方法对我来说没有任何问题,我可以毫无问题地看到数据库记录。当我将方法的名称更改为Dbcontec并尝试在编译时在另一个脚本中调用它时,问题就出现了,它会产生错误。下面我留下脚本的代码,看看它们是否可以帮助我。
与数据库的连接。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Data;
using Mono.Data.Sqlite;
namespace Dbconection {
public class Dbcnx : MonoBehaviour {
public int Idrow;
// Use this for initialization
public void Dbcontec () {
string conn = "URI=file:" + Application.dataPath + "/db_cuentos.s3db"; //Path to database.
IDbConnection dbconn;
dbconn = (IDbConnection) new SqliteConnection(conn);
dbconn.Open(); //Open connection to the database.
IDbCommand dbcmd = dbconn.CreateCommand();
string sqlQuery = "SELECT * " + "FROM data_cuent Where id = '"+Idrow+"'";
dbcmd.CommandText = sqlQuery;
IDataReader reader = dbcmd.ExecuteReader();
while (reader.Read())
{
int id = reader.GetInt32(0);
string nombre = reader.GetString(1);
//int rand = reader.GetInt32(2);
Debug.Log( "id= "+id+" nombre ="+nombre);
}
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbconn.Close();
dbconn = null;
}
}
}
我调用连接的脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Dbconection;
public class Inicio : MonoBehaviour {
public Dbcnx dbcnx;
public int Idrow;
// Use this for initialization
void Start () {
dbcnx.Dbcontec();
}
}
产生的错误。
NullReferenceException:对象引用未设置为对象 Start.Start () 的实例(在 Assets/Start.cs:13)
您需要在调用方法之前实例化该类: