最新 ASP.net+Unity3D完美实现数据库操作方法(已测通过各个平台)

转载:http://www.u3dchina.com/forum.php?mod=viewthread&tid=1248&extra=page%3D1%26filter%3Dtypeid%26typeid%3D168%26sortid%3D14%26typeid%3D168%26sortid%3D14

点击查看原图

http://www.u3dchina.com/forum.php?mod=viewthread&tid=323

很多同学用到这样方法导出时无法实现操作数据库,由于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 DbHelper.zip (1.15 KB, 下载次数: 40)

2012-11-26 22:14 上传
点击文件名下载附件
下载积分: 下载币 -1

在对应的.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结果,查看数据库插入成功或提示已存在!

如上图的积分排名就是此种方式实现的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值