强子 发表于 2013-3-5 08:57

UNITY3D+ASP.NET 成功实现对数据库读取登陆 教程

1,创建一个数据库表,我们就以 test数据库为例,数据库里建一个tb_User表, tb_User里有User_Name , User_Pass 字段.

2,创建一个验证用户基本信息的asp.net页面,页面名字是:Default.aspx

后台代码如下:using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
      
      SqlConnection conn = new SqlConnection("Data Source=.\sqlexpress2008;Initial Catalog=test;Integrated Security=True");
   
    protected void Page_Load(object sender, EventArgs e)
    {
      string name = Request.Form["name2"];
      string pwd=Request.Form["pwd"];
      
      conn.Open();

      string sql = "select User_Name from tb_User where User_Name='" + name + "' and User_Pass='"+pwd+"'";
      SqlCommand cmd = new SqlCommand(sql, conn);
      if (cmd.ExecuteScalar() != null)
            Response.Write("success");
      else
            Response.Write("faield");
      conn.Close();
    }
}
前台代码不用管.

3,新建一个Unity 3D项目,新建一个Javascript文件, 在Javascript文件上编写如下代码:var URL = "http://devmac.net/domino/rui/Default.aspx"; //提交的URL地址
static var return_data:String;
var strname:String;
var strpwd:String;

var cls:boolean=false;
var xx:Rect = Rect (20, 10, 150, 100);

function OnGUI() {
      if(cls)
            xx = GUI.Window(1, xx, windowjj, "Window");
      GUI.Label(Rect(10,10,80,20),"UserName:");
      GUI.Label(Rect(10,30,80,20),"Userpass:");
      strname=GUI.TextField(Rect(90,10,100,20),strname);
      strpwd=GUI.PasswordField(Rect(90,30,100,20),strpwd,"*",25);
      
      //same as above, but for password
          if ( GUI.Button ( Rect (60, 60, 100, 20) , "Login" ) ){ //just a button
               
            Login();
            
          }
      
}

function windowjj(windowID : int){
   
    GUI.Label(Rect(55,25,50,20),return_data);
    if(GUI.Button(Rect(50,55,50,20),"Close")) cls=false;//
   
}

function Login() {

    var form = new WWWForm(); //创建一个WWWForm对象。

   form.AddField( "name2", strname );
   form.AddField("pwd",strpwd);
   
    var w:WWW=new WWW(URL,form);
   
   yield w; //we wait for the form to check the PHP file, so our game dont just hang
   cls=true;
   if (w.error != null) {

         //if there is an error, tell us
      return_data=w.error;
   

   } else {

         return_data=w.text;
            w.Dispose(); //clear our form in game

   }
}4. 此代码放在主相机上。

5.这一点很重要,没有这一步是不行的哦.**** Hidden Message *****

6,导入到IPhone手机里也成功访问到数据库.‘

强子 发表于 2013-3-5 09:07


可实现任意平台数据库存取,已测web、ios、win、mac 无任何问题,无需dll
webweb集成3.5 .net无解??老是出现tcp错误? 尝试2010下载中 .net 4成功测试
原来这就是所谓的服务端

xiaotong120 发表于 2013-3-5 09:22


不错 不错 不错{:soso__3922851084632044791_6:}

只爱月如 发表于 2013-3-5 10:20

哇 太棒了 感谢分享

weisen 发表于 2013-3-5 14:08

学习!感谢分享!

cvadhl 发表于 2013-3-5 20:31

哇,楼主好强啊

伊诺 发表于 2013-3-6 11:39

dsfvgsdfvsdvsdvsdv

贱丨人 发表于 2013-3-6 13:17

很好 很强大的教材

skyhaker 发表于 2013-3-7 11:11


我很懒,只想回复看看,另感谢楼主分享{:soso__16915934313317769624_2:}

zhaomingxu 发表于 2013-3-9 13:34

楼主太厉害了
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: UNITY3D+ASP.NET 成功实现对数据库读取登陆 教程