您的位置:首页 > 理论基础 > 计算机网络

[网络开发教程] ASP.net+Unity3D完美实现数据库操作方法(已测通

2016-02-24 10:50 627 查看
很多同学用到这样方法导出时无法实现操作数据库,由于U3D对dll支持并不是很完美,这里给出一个交给web端来处理的详细教程可以解决各个平台操作mssql的问题。php、mysql等同理

接下来我们通过在数据库中插入字段来讲解此教程。

1、打开mssql 创建一个表tb_Message

create table tb_Message

(

guest_id int IDENTITY(1,1) primary key,

guest_name nvarchar(20),

guest_score nvarchar(255),

guest_message nvarchar(255),

)

复制代码

注:nvarchar类型支持中文字符

2、打开vs新建一个asp.net的网站

web.config配置如下:

注:如有防火墙请填写端口号

<?xml version="1.0"?>

<!--

有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->

<configuration>

<appSettings>

<add key="connString" value="Data Source=Sql1001.u3dchina.com,2433;Initial Catalog=DB_98CEEF_test;User Id=DB_98CEEF_test_admin;Password=testtest;"/>

</appSettings>

<system.web>

<compilation debug="true" targetFramework="4.0" />

</system.web>

</configuration>

复制代码

这里定义数据库连接字符串

为了方便数据操作,新建一个app_code(自带的),添加dbhelper

在对应的.aspx.cs中添加如下代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page

{

DbHelper help = new DbHelper();

protected void Page_Load(object sender, EventArgs e)

{

string guest_name=Request.Form["post_name"];

string guest_score=Request.Form["post_score"];

string guest_message=Request.Form["post_message"];

string insertsql = "insert into tb_Message (guest_name,guest_score,guest_message) values('" + guest_name + "','"+guest_score+"','"+guest_message+"')";

if (help.Exists(selectsql))

{

Response.Write("have the name!");

}

else

{

Response.Write("Don't have the name!");

string insertsql = "insert into tb_Message (guest_name,guest_score,guest_message) values('nvchar测试姓名','varchar测试分数',N'text带n测试')";

if (help.ExecuteSqlInt(insertsql) > 0)

Response.Write("Insertsuccess");

else

Response.Write("Insertfailed");

}

}

}

复制代码

原理:通过form临时数据存取提取unity3d的中的form请求,在网页中接受值并对数据库进行操作

右键在浏览器中查看

显示:Don't have the name!Insertsuccess

检测结果:正常 进入网络mssql中可以查看到这些数据

三、在u3d中创建一个c#脚本:

代码如下:

using UnityEngine;

using System.Collections;

public class insert : MonoBehaviour {

private string url="http://localhost:50163/WebSite2/Default.aspx";//本地地址

private string txt_Name="";

private string txt_Score="";

private string txt_Message="";

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}

void OnGUI()

{

txt_Name=GUI.TextField(new Rect(10,10,100,30),txt_Name);

txt_Score=GUI.TextField(new Rect(10,50,100,30),txt_Score);

txt_Message=GUI.TextField(new Rect(10,90,100,30),txt_Message);

if(GUI.Button(new Rect(10,130,100,30),"submit"))

{

StartCoroutine(InsertMethod());

}

}

IEnumerator InsertMethod()

{

WWWForm form=new WWWForm();

form.AddField("post_name",txt_Name);

form.AddField("post_score",txt_Score);

form.AddField("post_message",txt_Message);

WWW w=new WWW(url,form);

yield return w;

print (w.text);

}

}

复制代码

绑定运行,查看print结果,查看数据库插入成功或提示已存在!

如上图的积分排名就是此种方式实现的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: