精华内容
下载资源
问答
  • C#连接Access数据库,C#连接Excel数据库,C#连接SqlServer数据库,C#连接Mysql数据库总结

    大二下学期写的了,如今毕业一个月了,整理整理

    额,以前写的好幼稚,只有自己明白了,网上一大堆,大概的意思说下吧

    MySQL=========================================

    http://dev.mysql.com/downloads/connector/

    http://user.qzone.qq.com/652768664/blog/1347859952

    连接mysql需要安装mysql,在mysql的C盘安装目录有一个连接 lib,将改lib添加引用用项目OK;

     static void Main(string[] args)
            {
                List<string> lstdb =MySqlConn();
                foreach (string s in lstdb)
                {
                    Console.WriteLine(s);
                }
                Console.Read();
            }
            public static List<string> MySqlConn()
            {
                List<string> lstconn = new List<string>();
                MySqlConnection objConn = new MySqlConnection();
                objConn.ConnectionString = "server=127.0.0.1;User Id=root;Password=000000;Persist Security Info=True;database=test ";
                objConn.Open();
                MySqlCommand objCmd = new MySqlCommand("select * from maya", objConn);
                MySqlDataReader dr = objCmd.ExecuteReader();
                while (dr.Read())
                {
                    lstconn.Add(dr[0].ToString());
                }
                objConn.Close();
                return lstconn;
            }
        }


    Access==========================================

    http://user.qzone.qq.com/652768664/blog/1334636397

    access2007 和 access 2003的连接字符串不同,一个ADO版本12.0,一个是4.0;

    1,

     public  List<string> Access2007(string accdbpath,string tablename)
            {
                List<string> lstdata = new List<string>();
                string strconn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + accdbpath + "'";
                OleDbConnection conn = new OleDbConnection(strconn);
                conn.Open();
                string cmdtext = "select * from " + tablename+"";
                OleDbDataAdapter apdate = new OleDbDataAdapter(cmdtext, conn);
                DataTable table = new DataTable();
                apdate.Fill(table);
                if (table.Rows.Count > 0)
                {
                    for (int irow = 0; irow < table.Rows.Count; irow++)
                        for (int icol = 0; icol < table.Columns.Count; icol++)
                            lstdata.Add("Row:" + irow
                                + " Column:" + icol
                                + " ColumnName:" + table.Columns[icol].ColumnName
                                + " Value:" + table.Rows[irow][table.Columns[icol].ColumnName]);
                }
                return lstdata;
            }
    2,

    namespace 留言板_access数据库_
    {
        public partial class _Default : System.Web.UI.Page
        {
            string strConnection = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=F:\\留言板.mdb ";
            string sex;
            protected void Page_Load(object sender, EventArgs e)
            {
                OleDbConnection coon = new OleDbConnection(strConnection);
                coon.Open();
                Response.Write("Access数据库连接状态显示:" + coon.State);
                coon.Close();
                Label1.Text=DateTime.Now.ToString();
                if (RadioButton1.Checked) { sex = "男"; }
                else { sex = "女"; }
            }
            protected void Button1_Click(object sender, EventArgs e)
            {
                TextBox2.Text = "";
            }
            public void Seek(string str)
            {
                using (OleDbConnection coon = new OleDbConnection(strConnection))
                {
                    OleDbCommand cmd = new OleDbCommand(str, coon);
                    try
                    {
                        coon.Open();
                        OleDbDataReader r = cmd.ExecuteReader();
                        while (r.Read())
                        TextBox3.Text = string.Format("留言人:{0};性别:{1};留言内容:{2};留言时间{3}", r[0], r[1], r[2],r[4]);
                    }
                    catch (Exception ee)
                    {
                        Response.Write(ee.Message);
                    }
                }
     
            }
            public void Insert(string str)
            {
                using (OleDbConnection coon = new OleDbConnection(strConnection))
                {
                    OleDbCommand cmd = new OleDbCommand(str, coon);
                    try
                    {
                        coon.Open();
                        cmd.ExecuteNonQuery();
                        Response.Write("<script>window.alert('数据添加成功!');</script>");
                        
                    }
                    catch (Exception ee)
                    {
                        Response.Write(ee.Message);
                    }
                }
     
            }
            protected void Button2_Click(object sender, EventArgs e)
            {
                Seek("select * from 留言板 where 姓名= '" + TextBox1.Text.Trim() + "'");
            }
            protected void Button3_Click(object sender, EventArgs e)
            {
                Insert("insert into 留言板(姓名,性别,留言内容,留言时间) values('"+TextBox1.Text.Trim()+"','"+sex.Trim()+"','"+TextBox2.Text.Trim()+"','"+Label1.Text+"')");
                Button2_Click(sender,e);
            }
        }
    }


    Excel==========================================

    http://user.qzone.qq.com/652768664/blog/1350139919

    class ExcelInAndOut
        {
            /// 读取Excel文档
            /// </summary>
            /// <param name="Path">文件名称</param>
            /// <returns>返回一个数据集</returns>
            public DataSet ExcelToDS(string Path)
            {
                string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                string strExcel = "";
                OleDbDataAdapter myCommand = null;
                DataSet ds = null;
                strExcel = "select * from [sheet1$]";
                myCommand = new OleDbDataAdapter(strExcel, strConn);
                ds = new DataSet();
                myCommand.Fill(ds, "table1");
                return ds;
            }
        }

    SqlServer and SqlLite==========================================

    一个服务器名为 . 一个服务器名为 .\sqlexpress

    展开全文
  • HTML5 Web SQL Database 数据库

    千次阅读 2015-09-27 18:39:18
    Web Database 介绍 Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范。它通过一套API来操纵客户端的数据库。Safari、Chrome、Firefox、Opera等主流... Web SQL数据库有三个核心方法: 1)打开数据库

    Web Database 介绍
    Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范。它通过一套API来操纵客户端的数据库。Safari、Chrome、Firefox、Opera等主流浏览器都已经支持Web SQL Database

    Web Database

    HTML5 Web Database 操作使用
    Web SQL数据库有三个核心方法:
    1)打开数据库openDatabase()方法:
    此方法创建数据库对象,既可以使用已有的数据库,也可以创建新的数据库。

    2)事务transaction()方法:
    此方法可以用于控制事务处理,执行提交操作或回滚操作。

    3)执行SQL命令executeSql()方法:
    此方法用于执行SQL查询。

    1)打开数据库openDatabase()方法:
    此方法创建数据库对象,既可以使用已有的数据库,也可以创建新的数据库。

    window.openDatabase("mydata", "1.0", "数据库描述",  20000 );

    返回值:返回一个对象链接
    参数说明:数据库名,数据库版本,描述,数据库大小单位(字节)

    2)事务transaction()方法:
    此方法可以用于控制事务处理,执行提交操作或回滚操作。

    database.transaction (   函数(obj) )

    链接的数据库对象,参数为函数,接收数据库对象内容
    如:

      db.transaction(  function(tx) {                
      });
    

    3)执行SQL命令executeSql()方法:
    此方法用于执行SQL查询。

    tx.executeSQL (   SQL语句   )

    如:

      db.transaction(  function(tx) {           
    
          tx.executeSQL(“SQL语句”)
    
      });

    实例:

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>html5-dataBase</title>
    </head>
    
    
    <body>
    <script type="text/javascript">
    var db = window.openDatabase("mydata", "1.0","数据库描述",20000);
    //window.openDatabase("数据库名字", "版本","数据库描述",数据库大小);
    if(db)  
         alert("新建数据库成功!"); 
    
    db.transaction(function(tx) {
        tx.executeSql("CREATE TABLE test (id int UNIQUE, mytitle TEXT, timestamp REAL)");
    });
    
    db.transaction(function(tx) {
        tx.executeSql("INSERT INTO test (mytitle, timestamp) values(?, ?)", ["WEB Database", new Date().getTime()], null, null);
    });
    
    //db.transaction(function(tx) {
    //  tx.executeSql("DROP TABLE qqs");
    //})
    
    //db.transaction(function(tx) {
    //  tx.executeSql("update test set mytitle=? where mytitle = 'fsafdsaf'",['xp'],null,null);
    //});
    
    db.transaction(function(tx) {
        tx.executeSql("SELECT * FROM test", [],  
        function(tx, result) {
             for(var i = 0; i < result.rows.length; i++){ 
                document.write('<b>' + result.rows.item(i)['mytitle'] + '</b><br />'); 
            } 
        }, function(){
            alert("error");
        }); 
    }); 
    </script>
    </body>
    </html>
    
    展开全文
  • 作为一个学生党,参加了一个比赛,需要开发一个安卓app,需要用到数据库存储。SQLite数据库虽然是安卓常用的...在网络上搜索相关服务器资料,实现Android通过webservice连接SQL数据库。参考:http://blog.csdn....

    作为一个学生党,参加了一个比赛,需要开发一个安卓app,需要用到数据库存储。SQLite数据库虽然是安卓常用的数据库,但只能在手机本地上进行存储,实现不了像QQ等其他软件一样实现用户登录功能。而且对于一个不小的程序来说,Android直连SQLsever也是非常不恰当的。在网络上搜索相关服务器资料,实现Android通过webservice连接SQL数据库。参考:http://blog.csdn.net/zhyl8157121/article/details/8169172#

    刚好,本人对asp.net也不是太陌生,具体思路如下:在VisualStudio中的webservice中写访问SQLsever的代码,获取数据转成XML文件形式再传给android客户端。

    一、VisualStudio2013→新建→项目→Asp.netWeb应用程序(空项目),我的语言是C#。创建好后 在对象资源管理器中右键项目名→添加→新建项→Web服务ASMX(即WebService.asmx)  创建。创建后系统会自动生成如下代码:

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    
    namespace WebApplication3
    {
        /// <summary>
        /// WebService1 的摘要说明
        /// </summary>
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [System.ComponentModel.ToolboxItem(false)]
        // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
        // [System.Web.Script.Services.ScriptService]
        public class WebService1 : System.Web.Services.WebService
        {
    
            [WebMethod]
            public string HelloWorld()
            {
                return "Hello World";
            }
    }}
    
     
     

    可以调试一下,发现只有一个Helloworld可以调用,可以在helloworld方法中添加参数例如将helloworld方法改为

     

            [WebMethod]
            public int HelloWorld(int a ,int b)    
            {
                return a+b;
            }

     

     

     

    自己感受。在方法定义中添加[WebMethod]可以让该方法在客户端进行访问。在客户端调用这些方法时输入的都是string类型的参数,在可行的情况下,系统会自动的将输入的参数转化成该方法对应的参数类型。

    接下来就可以通过参考的博客,根据自己的需要来实现服务器端的编写,这里由于项目内容过多就不给展示了。

    我的方法是:创建好数据库,然后再Vs2013中进行连接。

    这里贴出方便用户连接SQL数据库的代码(SQLhelper)

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    /// <summary>
    /// SQLhelper 的摘要说明
    /// </summary>
    
    using System.Text;
    using System.Threading.Tasks;
    using System.Data.SqlClient;
    using System.Data;
    using System.Configuration;
    namespace DAL
    {
        public class SQLHelper
        {
            private SqlConnection connect = null;
            private SqlCommand cmd = null;
            private SqlDataReader sdr = null;
            public SQLHelper()
            {
                connect = new SqlConnection();
                connect.ConnectionString = "Data Source =<服务器名>; Initial Catalog=<数据库名>;User ID=sa;password=<密码>";  
            }
            private SqlConnection Getconn()
            {
                if (connect.State == ConnectionState.Closed)
                {
                    connect.Open();
                }
    
                return connect;
            }
    
            #region 不带参数的
            /// <summary>
            /// 该方法传入sql语句,执行并返回受影响的行数       
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
    
            public int ExecuteNonQuery(string cmdText, CommandType ct = CommandType.Text)
            {
                int res;
                try
                {
                    cmd = new SqlCommand(cmdText, Getconn());
                    cmd.CommandType = ct;
                    res = cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
    
                    throw ex;
                }
                finally
                {
                    if (connect.State == ConnectionState.Open)
                    {
                        connect.Close();
                    }
    
                }
                return res;
            }
            #endregion
    
            /// <summary>
            /// 执行带参数集的sql增删改语句
            /// </summary>
            /// <param name="sql">sql语句或存储过程</param>
            /// <param name="paras">参数集合</param>
            /// <returns></returns>
            public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct = CommandType.Text)
            {
                int res;
                using (cmd = new SqlCommand(cmdText, Getconn()))
                {
                    cmd.CommandType = ct;
                    cmd.Parameters.AddRange(paras);
                    res = cmd.ExecuteNonQuery();
                }
                if (connect.State == ConnectionState.Open)
                {
                    connect.Close();
                }
                return res;
            }
    
            #region 不带参数的查询
            /// <summary>
            /// 该方法执行传入的SQL查询语句
            /// </summary>
            /// <param name="cmdText">SQL查询语句 或存储过程</param>
            /// <returns></returns>
            public DataTable ExecuteQuery(string cmdText, CommandType ct = CommandType.Text)
            {
                DataTable dt = new DataTable();
                cmd = new SqlCommand(cmdText, Getconn());
                cmd.CommandType = ct;
                using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    dt.Load(sdr);
                }
                return dt;
            }
    #endregion
    
    
    
            #region ExecuteQuery该方法执行传入的SQL查询语句
            /// <summary>
            /// 该方法执行传入的SQL查询语句
            /// </summary>
            /// <param name="cmdText">sql语句或存储过程</param>
            /// <param name="paras">参数集合</param>
            /// <returns></returns>
            public List<string> ExecuteQuery(string cmdText,int length,SqlParameter[] paras, CommandType ct = CommandType.Text)
            {
                List<string> list = new List<string>();
                cmd = new SqlCommand(cmdText, Getconn());
                try
                {
    
                    cmd.CommandType = ct;
                    cmd.Parameters.AddRange(paras);
                    sdr = cmd.ExecuteReader();
                    while (sdr.Read())
                    {
                        for (int i = 0; i < length; i++)
                        {
                            list.Add(sdr[i].ToString());
                        }
                    }
    
                    sdr.Close();
                    cmd.Dispose();
                }
                catch { }
                finally
                {
                    if (connect.State == ConnectionState.Open)
                    {
                        connect.Close();
                    }
                }
                return list;
            }
    
    
    
            /// <summary>
            /// 该方法执行传入的SQL查询语句
            /// </summary>
            /// <param name="cmdText">sql语句或存储过程</param>
            /// <param name="paras">参数集合</param>
            /// <returns></returns>
            public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct = CommandType.Text)
            {
                DataTable dt = new DataTable();
                cmd = new SqlCommand(cmdText, Getconn());
                cmd.CommandType = ct;
                cmd.Parameters.AddRange(paras);
                using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    dt.Load(sdr);
                    if (connect.State == ConnectionState.Open)
                    {
                        connect.Close();
                    }
                }
                return dt;
            }
            #endregion
    
    
        }
    }


    代码说明:第一个参数cmdText:传入SQL语句或存储过程名

     

                   第二个参数 paras :SQL语句中的参数对象

      第三个参数  ct :决定执行cmdText内容是SQL语句,还是存储过程,其中CommandType.Text执行的是SQL语句

    返回值为List<string>的第二个参数length:为SQL查询结果的字段个数。

    要改的地方 只有数据库连接字符串 connect.ConnectionString ,根据自己的需要改。

    该SQLhelper使用范例:

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using DAL;
    using System.Data.SqlClient;
    using System.Data;
    namespace MyProject
    {
        public class UserDAL
        { SQLHelper sqlhelper;
        
    	public UserDAL()
    	{
            sqlhelper = new SQLHelper();
    	}
        #region 插入用户信息
        public bool Insert(string phonenum,string name,string sex ,string password,string address,int isguide=0)
        {
            //TODO:增加用户
            bool flag = false;
            SqlParameter[] para = new SqlParameter[]{
                    new SqlParameter("@phone",phonenum),
                    new SqlParameter("@name",name),
                    new SqlParameter("@sex",sex),
                    new SqlParameter("@password",password),
                    new SqlParameter("@address",address),
                    new SqlParameter("@isguide",isguide)
                };
            string cmdText = "insert into userTable (phoneNum,name,sex,password,address,isguide) values (@phone,@name,@sex,@password,@address,@isguide)";
            int res = sqlhelper.ExecuteNonQuery(cmdText, para);
            if (res > 0)
            {
                flag = true;
            }
            return flag;
        }
    #endregion
    
        #region 用户是否存在
        public bool IsExistUser(string phonenum) {
            bool flag = false;
            SqlParameter[] para = new SqlParameter[]{  
                    new  SqlParameter("@phonenum",phonenum),
                    
                };
            DataTable dt = sqlhelper.ExecuteQuery("select * from userTable where  phoneNum=@phonenum ", para);
            if (dt.Rows.Count != 0)
                flag = true;
            return flag;
        }
        #endregion
    
        #region 密码和用户是否匹配
        public bool IsMatchUser(string phonenum,string password) 
        {
            
            bool flag=false;
             SqlParameter[] para = new SqlParameter[]{  
                    new  SqlParameter("@phonenum",phonenum),
                    new SqlParameter("@password",password),
                };
            DataTable dt = sqlhelper.ExecuteQuery("select * from userTable where  phoneNum=@phonenum and password=@password",para);
            if (dt.Rows.Count !=0) 
                flag = true;
            return flag;
        }
        #endregion
    
        #region 根据Phonenum修改name 和sex 和address和 signature 和 isguide
        /// <summary>
        /// 根据Phonenum修改name 和sex
        /// </summary>
        /// <param name="phonenum">电话号码</param>
        /// <param name="name">要修改的名字</param>
        /// <param name="sex">要修改的性别</param>
        /// <returns></returns>
        public bool ModifyImformation(string phonenum, string name,string sex,string address,string signature,string isguide)
        {
            bool flag = false;
            SqlParameter[] para = new SqlParameter[]{  
                    new  SqlParameter("@phonenum",phonenum),
                    new SqlParameter("@name",name),
                    new SqlParameter("@sex",sex),
                    new SqlParameter("@address",address),
                    new SqlParameter("@signature",signature),
                    new SqlParameter("@isguide",isguide),
                };
            string cmdText = "update userTable set name=@name,sex=@sex,address=@address,[signature]=@signature,isguide=@isguide where phoneNum=@phonenum ";
            int res = sqlhelper.ExecuteNonQuery(cmdText, para);
            if (res > 0)
            {
                flag = true;
            }
            return flag;
        }
        #endregion
    
        #region 修改密码
        /// <summary>
            /// 修改密码
            /// </summary>
            /// <param name="phonenum">电话号码</param>
            /// <param name="password">要修改的密码</param>
            /// <returns></returns>
            public bool ModifyPassword(string phonenum, string password)
        {
            bool flag = false;
            SqlParameter[] para = new SqlParameter[]{  
                    new  SqlParameter("@phonenum",phonenum),
                    new SqlParameter("@password",password),
                };
            string cmdText = "update userTable set password=@password where phoneNum= @phonenum";
            int res = sqlhelper.ExecuteNonQuery(cmdText, para);
            if (res > 0)
            {
                flag = true;
            }
            return flag;
        }
        #endregion
    
        #region 判断账号是否为导游
       
            public bool Isguide(string phonenum)
            {
                bool flag = false;
                SqlParameter[] para = new SqlParameter[]{  
                    new  SqlParameter("@phonenum",phonenum),
               
                };
                DataTable dt = sqlhelper.ExecuteQuery("select * from userTable where  isguide!='0' and phoneNum=@phonenum", para);
                if (dt.Rows.Count != 0)
                    flag = true;
                return flag;
            }
            #endregion
    
            public List<string> SelectUserById(string phonenum) 
            {
                SqlParameter[] para = new SqlParameter[]{  
                    new  SqlParameter("@phonenum",phonenum),
                };
                List<string> str = sqlhelper.ExecuteQuery("select * from userTable where phoneNum=@phonenum", 7, para);
                return str;
            }}}

     

     

    在WebService中加入如下代码

     

     #region 用户注册:电话号码、姓名、性别、密码、是否为导游
            [WebMethod(Description="用户注册")]
            public bool insertUser(string phonenum, string name, string sex, string password,string address, int isguide = 0)
            {
                
                return new UserDAL().Insert(phonenum, name, sex, password, address,isguide);
            }
            #endregion
    
            #region 账号密码是否匹配验证
            [WebMethod (Description="账号和密码是否匹配")]
            public bool IsMatchUser(string phonenum, string password)
            {
                return new UserDAL().IsMatchUser(phonenum, password);
            }
            #endregion
    
            #region 判断账号是否为导游
            [WebMethod(Description = "判断账号是否为导游")]
            public bool Isguide(string phonenum)
            {
                return new UserDAL().Isguide(phonenum);
            }
            #endregion
    
            #region 账号是否存在
            [WebMethod(Description = "账号是否存在")]
            public bool IsExistUser(string phonenum)
            {
                return new UserDAL().IsExistUser(phonenum);
            }
            #endregion
    
            #region 修改密码
            [WebMethod(Description="根据用户修改密码")]
            public bool ModifyUserPassword(string phonenum, string password)
            {
                return new UserDAL().ModifyPassword(phonenum, password);
            }
            #endregion
    
            #region 修改个人信息
            [WebMethod(Description = "根据用户修改性别和名字")]
            public bool ModifyUserImformation(string phonenum, string name, string sex, string address, string signature,string isguide)
            {
                return new UserDAL().ModifyImformation(phonenum, name, sex, address, signature,isguide);
            }
            #endregion
    
            #region 有待测试的 根据用户名查找用户信息
            [WebMethod(Description="有待测试的 根据用户名查找用户信息")]
            public string[] SelectUserById(string phonenum)
            {
                return new UserDAL().SelectUserById(phonenum).ToArray();
            }
            #endregion
    


    然后执行程序会有如下界面

     

     

    最后任务就是将这Webservice挂到本地IIS上,VS2013菜单栏→项目→项目属性(最下方)→应用程序。把输出类型设置成类库。然后在Web栏,找到选项服务器(默认在IIS Express发布),选择本地IIS 添加虚拟目录,(注意:要用管理员的身份运行VS2013)。如果在Internet 信息服务IIS管理器上中看到发布的网站,那么就成功了。电脑中没有IIS的需要自己安装。

    最最后,在web.config中添加如下代码段

    <webServices>
          <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
          </protocols>
        </webServices>

      <appSettings>
        <add key="vs:EnableBrowserLink" value="false"/>
      </appSettings>

    清空系统自动添加的烦人的代码。

    看看现在可不可以连接到服务器。使用安卓手机,在同一个网络下,可以开热点。用手机打开如下网址

    http://<你的本地IP>      电脑IP可以在cmd中输入ipconfig 查询。

    如果访问成功会有一个IIS的页面

    接下来访问webservice,就是项目调试时的网址。例如:

    http://localhost/TourismWeb/TourismService.asmx,在手机中访问时要把localhost改为本地ip

     

    有什么不足望指正....

    展开全文
  • HTML5 Web SQL 数据库

    千次阅读 2015-09-25 14:33:55
    HTML5 Web SQL 数据库 Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。 假定你是一个优秀的 Web 开发人员,如果是这样的话,毫无疑问你会...

    HTML5 Web SQL 数据库
    Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。

    假定你是一个优秀的 Web 开发人员,如果是这样的话,毫无疑问你会很清楚 SQL 和 RDBMS 的概念。如果你仍然需要一个 SQL 的议题,可以学习我们的 SQL 教程。

    我们可以在最新版的 Safari,Chrome 和 Opera 中使用 Web SQL 数据库。

    核心方法

    下面是规范中定义的三个核心方法。也会涵盖在本教程中:

    openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。
    transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。
    executeSql:这个方法用于执行实际的 SQL 查询。
    开启数据库

    如果数据库已经存在,openDatabase 方法负责开启数据库,如果不存在,这个方法会创建它。

    使用下面的代码可以创建并开启一个数据库:

    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
    上面的方法接受下列五个参数:

    数据库名称
    版本号
    描述文本
    数据库大小
    创建回调
    最后也是第五个参数,创建回调会在创建数据库后被调用。然而,即使没有这个特性(功能),运行时仍然会创建数据库以及正确的版本。

    执行查询

    执行查询需要使用 database.transaction() 函数。这个函数需要一个参数,它是一个负责实际执行查询的函数,如下所示:

    var db = openDatabase('mydb', '1.0',>http://www.0771ybyy.com/zc/1792.html< 'Test DB', 2 * 1024 * 1024);
    db.transaction(function (tx) { 
       tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
    });
    上面的查询语句会在 ‘mydb’ 数据库中创建一个叫做的 LOGS 的表。

    插入操作

    为了在表中创建条目,我们在上面的例子中加入简单的 SQL 查询,如下所示:

    var db = openDatabase('mydb', '>http://www.0771ybyy.com/zc/1793.html<1.0', 'Test DB', 2 * 1024 * 1024);
    db.transaction(function (tx) {
       tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
       tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
       tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');
    });
    创建条目时还可以传递如下所示的动态值:

    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
    db.transaction(function (tx) { 
      tx.executeSql('CREATE TABLE>http://www.0771ybyy.com/zc/1794.html< IF NOT EXISTS LOGS (id unique, log)');
      tx.executeSql('INSERT INTO LOGS
                            (id,log) VALUES (?, ?'), [e_id, e_log];
    });
    这里的 e_id 和 e_log 是外部变量,executeSql 会映射数组参数中的每个条目给 ”?”。

    读取操作

    要读取已经存在的记录,我们可以使用回调来捕获结果,如下所示:

    var db = openDatabase('mydb>http://www.0771ybyy.com/zc/1795.html<', '1.0', 'Test DB', 2 * 1024 * 1024);
    db.transaction(function (tx) {
       tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
       tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
       tx.executeSql('INSERT>http://www.0771ybyy.com/case/zhichuangjibing/1775.html< INTO LOGS (id, log) VALUES (2, "logmsg")');
    });
    db.transaction(function (tx) {
       tx.executeSql('SELECT *>http://www.0771ybyy.com/case/zhichuangjibing/1776.html< FROM LOGS', [], function (tx, results) {
       var len = results.rows.length, i;
       msg = "<p>Found rows: " + len + "</p>";
       document.querySelector('#status').innerHTML +=  msg;
       for (i = 0; i < len; i++){
          alert(results.rows.item(i).log );
       }
     }, null);
    });
    最终示例

    最后,然我们把这个例子放到如下所示的完整 HTML5 文档中,然后尝试在 Safari 浏览器中运行它:

    <!DOCTYPE HTML>
    <html>
    <head>
    <script type="text/javascript">
    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
    var msg;
    db.transaction(function (tx) {
      tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
      tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
      tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');
      msg = '<p>Log message created and row inserted.</p>';
      document.querySelector('#status').innerHTML =  msg;
    });

    db.transaction(function (tx) {
      tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
       var len = results.rows.length, i;
       msg = "<p>Found rows: " + len + "</p>";
       document.querySelector('#status').innerHTML +=  msg;
       for (i = 0; i < len; i++){
         msg = "<p><b>" + results.rows.item(i).log + "</b></p>";
         document.querySelector('#status').innerHTML +=  msg;
       }
     }, null);
    });
    </script>
    </head>
    <body>
    <div id="status" name="status">Status Message</div>
    </body>
    </html>
    在最新版的 Safari 或者 Opera 浏览器中这会生成如下所示结果:

    Log message created and row inserted.

    Found rows: 2

    foobar

    logmsg
    便于学习这一概念 - 请使用最新版的 Safari 或者 Opera 进行在线练习。

    展开全文
  • 本文主要介绍的就是在HBuilder+MUI框架进行html5开发中websql数据库的操作方法,以具体实例说明如何通过JavaScript封装的html5操作websql数据库
  • Web SQL 是在浏览器上模拟数据库,可以使用JS来操作SQL完成对数据的读写。 Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。 如果你是一个 ...
  • java web 连接mysql数据库

    千次阅读 2016-11-25 19:23:09
    介绍一下JSP怎么通过tomcat,连接后台的mysql数据库
  • 使用jdbc连接sql数据库实现增删改查

    万次阅读 多人点赞 2019-03-01 16:48:58
    创建动态web项目,根据数据库中表的字段创建bean对象 public class User { private int id; private String name; private int age; } 写dao层需要实现的功能 package com.sxt.dao; import java.util.List; ...
  • asp.net连接SQL数据库做登录

    千次阅读 2009-12-08 15:30:00
    由于项目的需要,找的一些列子。以备查看。 using System;using System.Collections;using System.ComponentModel;using System.Data;...using System.Web;using System.Web.SessionState;using Sys
  • <script type="text/javascript"> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据 var option = { title: { text: '...
  • c#程序连接sql server数据库

    万次阅读 多人点赞 2018-06-07 21:11:28
    先操作后讲解个人理解方式一、数据库内容:假设sql server身份验证:账户:sa;密码:123456数据库名:StudentStatusDB表名:tbUserInfo表内容:...nvarchar(50))二、c#连接数据库连接代码c#连接sql server需引入...
  • 【深夜放毒,记录生活^_^】   学了HTML之后 , 一直想写一个...  首先,我们先进行准备工作:下载连接数据库的jar包,这里我用百度网盘分享给大家吧 - -> MySQ的jar包点我!提取码:v5sd       SQL se...
  • vs2019连接SQL Server数据库详解

    千次阅读 2021-05-16 21:44:56
    vs2019连接SQL Server数据库详解第一步需要获取数据库连接字符串第二步,编辑web.config文件,在文件中加入如下代码段:第三步、新建窗体,我本人新建的窗体是query.aspx,代码如下:第四步,编辑query.aspx.cs文件...
  • c#连接sqlserver数据库

    万次阅读 2011-08-22 14:36:33
    本文将详细介绍如何使用Connection对象连接数据库。对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对象为我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。 ...
  • asp.net mvc 连接sqlserver数据库

    千次阅读 2020-09-12 15:49:38
    asp.net mvc 连接sqlserver数据库1.使用ado.net代码连接数据库2.使用ado.net实体数据模型 1.使用ado.net代码连接数据库 点击菜单栏的工具——点击连接数据库 建立好后可以看见右侧出现服务器资源管理器 右键属性...
  • C# 连接SQL Server数据库

    千次阅读 2011-10-25 09:43:41
    C# 连接SQL Server数据库  2009-12-10 16:19:51| 分类: IT | 标签: |字号大中小 订阅 C#连接SQL Server数据库(2009-05-11 12:11:47)   本文将详细介绍如何使用...
  • IDEA Web连接sqlServer

    千次阅读 2019-06-22 21:40:41
    IDEA连接Sql Server数据库 利用JSP和HTML来读取连接数据的数据 参考以上资料就可完成搭建,以下是自己简单介绍,总结 第一步:IDEA创建Web项目 我们建立一个 Project,在该Project中我们建立一个Web ...
  • JSP连接SQLServer数据库

    千次阅读 2007-05-31 08:07:00
    我写的一个用jsp连接SQLServer数据库的代码。要正确的使用这段代码,你需要首先在SQLServer数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。欢迎各位提出改进...
  • ASP.NET连接sql2008数据库

    万次阅读 2011-12-01 21:05:51
    利用SqlConnection对象连接sql2000以上版本,并使用... 用于对sql数据库执行sql语句或存储过程。  命名空间:System.Data.SqlClient  程序集: System.Data(在 System.Data.dll中) SqlCommand类的属性
  • JSP 使用JDBC连接 SQL Server数据库

    千次阅读 2017-03-17 17:08:46
    使用jdbc连接数据库首先需下载sqljdbc4.jar (点此下载)下载后放入工程WEB-INF/lib目录下并添加进工程库: 对jar文件右键选择: 或者如下操作 1. 2. 3. jsp连接代码: /**注意加try-catch块...
  • 为什么使用数据库连接池 在JDBC中,一个Connection对象表示一个对数据库连接。建立一个连接耗时又耗资源,如果所有客户共享一组已经打开的连接会节约很多时间。 什么时候使用连接池 1.所有用户通过一个通用的...
  • JSP连接SQL SERVER数据库

    千次阅读 2010-08-16 11:29:00
     JSP连接SQL SERVER数据库,首先就需要三个JAR包,一个是mssql,一个是mssqlserver,另外一个是msbase。将这三个包放在WEB-INF的lib包下(如果是NETBEAN,就直接在库中加入JAR文件就好了)。与数据库进行通信...
  • Web SQL本地数据库(SQLLite)

    千次阅读 2018-12-12 10:14:17
    在html5中,可以像访问本地文件那样轻松的对内置数据库进行直接访问。  html5中内置了两种数据库,一种为SQLLite,另一种为...在js中使用SQLLite数据库的步骤: 1.创建访问数据库的对象 var db = openDatabase(...
  • Unity3d连接SQLServer数据库

    千次阅读 2014-02-22 21:38:54
    在编写代码之前需要: 1.引入程序集System.Data.dll,位置在C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity(我unity默认装在C盘)。...虽然在unity里面可以运行但是发布为web或者exe后还是连接不上,
  • Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范。它通过一套API来操纵客户端的数据库。Safari、Chrome、Firefox、Opera等主流浏览器都已经支持Web SQL Database。HTML5的Web SQL Databases的确很...
  • ASP.NET连接SQL Server数据库详解2009-08-24 22:03本文将详细介绍如何使用Connection对象连接数据库。对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对象为我们屏蔽了具体的...
  • web实验报告——数据库连接与应用(SQL Server)
  • 在ASP.NET中,使用C#连接SQL数据库,并使用SQL语句查询,以前从来没有接触过C#,最近用到了,摸索了两天终于运行起来了,Mark一下,不喜勿喷 有两种方法:(说的是第一种方法不安全,我也不清楚^_^) 第一种方法: ...
  • 免费在线SQL数据库SQL Fiddle使用简介

    千次阅读 2020-10-02 15:10:24
    免费在线SQL数据库SQL Fiddle使用简介 在oj上面做数据库题目时,有时机器没有安装SQL环境,这时可以考虑免费在线SQL数据库。网上免费在线数据库有很多,比如SQL Fiddle、DB Fiddle、db<>fiddle、SQL Online、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 139,590
精华内容 55,836
关键字:

web连接sql数据库text