如何使用 APICloud 的端 API 连接到自己的服务器数据库获取数据

如何使用 APICloud 的端 API 连接到自己的服务器数据库获取数据,第1张

1如果想快速开发,没有自己的服务器,还是推荐使用云API的数据云。

2不使用云API的数据云,可能是因为有web版且已经有商用数据。

3不使用云API的数据云,需自己写数据接口,即客户端发送请求接收处理与生成json数据给客户端进行交互。

4感谢APICloud提供新的APP开发方式。

其实也不难,使用apiajax进行请求即可。PHPer,以下使用演示使用PHP,数据库使用Mysql,JAVA党或者NET党请自行coding

[连接到数据库(文件放在服务器上),服务器端输出JSON]

<php

/

配置连接数据库信息

/

$host='localhost';//主机

$user='root';//数据库账号

$password='';//数据库密码

$database='test';//数据库名

//打开数据库连接

$db=mysqli_connect($host,$user,$password,$database);

//判断连接是否成功

if($db){

$db->query("set names utf8");//设置UTF-8编码(JSON的唯一编码)

}else{

echo 'DATABASE_CONNECTION_DIE';//数据库连接失败

exit;

}

//sql查询语句

$sql="select id,name,sex,age from person";

$result=$db->query($sql);

while($row=$result->fetch_assoc()){

$person_info[]=$row;//将取得的所有数据赋值给person_info数组

}

echo json_encode($person_info);//输出JSON

>

复制代码

输出的JSON示例:

[{"id":"1","name":"\u54c8\u5c3c","sex":"\u7537","age":"22"},{"id":"2","name":"\u5c0f\u9648","sex":"\u5973","age":"21"},{"id":"3","name":"\u5c0f\u767d","sex":"\u672a\u77e5","age":"1"}]

复制代码

[测试用的数据库SQL语句]

--

-- Database: `test`

--

-- --------------------------------------------------------

--

-- 表的结构 `person`

--

CREATE TABLE IF NOT EXISTS `person` (

`id` int(11) NOT NULL,

`name` varchar(5) NOT NULL,

`sex` varchar(2) NOT NULL,

`age` int(3) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--

-- 转存表中的数据 `person`

--

INSERT INTO `person` (`id`, `name`, `sex`, `age`) VALUES

(1, '哈尼', '男', 22),

(2, '小陈', '女', 21),

(3, '小白', '未知', 1);

复制代码

搞定服务器端输出JSON后,重点来了

[端API使用apiajax读取接口数据]

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport"

content="maximum-scale=10,minimum-scale=10,user-scalable=0,width=device-width,initial-scale=10"/>

<title>test</title>

</head>

<body>

<button onclick="showPersonInfo()">点我获取数据</button>

</body>

<script type="text/javascript" src="/script/apijs"></script>

<script>

function showPersonInfo(){

apishowProgress();//显示加载进度框

//使用apiajax请求数据,具体使用方法和参数请看官方文档,这里使用get方法演示

apiajax({

url:'>

package orgwoodutil;

import javaioIOException;

import javaioInputStream;

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlSQLException;

import javautilProperties;

/

这是一个链接类:

注意:我这里使用的mssqlproperties文件保存连接数据库信息

该文件(mssqlproperties)必须放在src目录下

由于没有安装SqlServer 没有测试,

楼主可以自己测试一下(把此类,拷贝到你的项目中,创建好mssqlproperties文件)

运行本类,没有错误就是正确的了

有什么问题:可以邮箱:314819950@qqcom

@author Administrator

/

public class DBUtil2 {

public static Properties props;

public static String DRIVER_NAME="commicrosoftsqlserverjdbcSQLServerDriver";

public static String URL="jdbc:sqlserver://1721642234:1433;DatabaseName=0840software";

public static String USER="java2";

public static String PASSWORD="java2";

static{

props=new Properties();

try {

InputStream is=DBUtil2classgetClassLoader()getResourceAsStream("dbproperties");

propsload(is);

DRIVER_NAME=propsgetProperty("driver");

URL=propsgetProperty("url");

USER=propsgetProperty("user");

PASSWORD=propsgetProperty("pass");

ClassforName(DRIVER_NAME);

} catch (ClassNotFoundException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

}

}

public static Connection getConnection() throws SQLException{

Connection con=DriverManagergetConnection(URL, USER, PASSWORD);

return con;

}

public static void close(ResultSet rs,PreparedStatement ps,Connection con) throws SQLException{

if(rs!=null){

rsclose();

}

if(ps!=null){

psclose();

}

if(con!=null){

conclose();

}

}

public static void main(String[] args) throws SQLException {

Systemoutprintln("测试获得连接: "+DBUtil2getConnection());

}

}

Set cn = New ADODBConnection

sqldata="Driver={Microsoft Access Driver (mdb)};DBQ=" & Servermappath("F:\vb数据\DataBase\DataBase2007mdb ")

cnOpen sqldata

Set adors = New ADODBRecordset

adorsOpen strsql, cn

MSFlexGrid1Rows = 1

While Not adorsEOF

MSFlexGrid1Rows = MSFlexGrid1Rows + 1

MSFlexGrid1Row = MSFlexGrid1Rows - 1

MSFlexGrid1Col = 0

MSFlexGrid1Text = adorsFields(0)

MSFlexGrid1Col = 1

MSFlexGrid1Text = adorsFields(1)

MSFlexGrid1Col = 2

MSFlexGrid1Text = adorsFields(2)

adorsMoveNext

Wend

android读取数据库可以使用sqlite一些api进行读取,实例如下:

  / 

      查找一条数据 

      @param uid 

     /  

    public User find(Integer uid){  

        SQLiteDatabase db=dbOpenHelpergetReadableDatabase();  //创建数据库辅助类

        Cursor cursor =dbrawQuery("select  from user where uid=", new String[]{uidtoString()});  //创建一个游标

        if(cursormoveToFirst()){  //循环遍历查找数组

            int uid2=cursorgetInt(cursorgetColumnIndex("uid"));  

            String uname=cursorgetString(cursorgetColumnIndex("uname"));  

            String uaddress=cursorgetString(cursorgetColumnIndex("uaddress"));  

            User user=new User();  

            usersetUid(uid2);  

            usersetUname(uname);  

            usersetUaddress(uaddress);  

            return user;  

        }  

        cursorclose();  

        return null;  

    }

建立FORM窗体,加个按钮控件,加一个DATAGRIDVIEW控件,双击FORM,加入命名空间using SystemDataOleDb; 双击按钮,进入按钮代码。

OleDbConnectionstrConnectionnewOleDbConnection("Provider=MicrosoftJetOLEDB40;Data Source=" + "员工信息mdb" + ";Persist Security Info=False")。

2 //建立数据库引擎连接,注意数据表(后缀为db)应放在DEBUG文件下。

3OleDbDataAdapter myda = new OleDbDataAdapter("select from 。

4trConnection);   //建立适配器,通过SQL语句去搜索数据库。

5按F5运行后,点击BUTTON按钮,便会显示相应的SQL语句下的数据库里的表。

6 string strcon = "Provider=MicrosoftJetOLEDB40;Data Source=db4mdb;";     mycon = new OleDbConnection(strcon)。

步骤1:点击开始,打开Microsoft Excel 2010。

2

步骤2:打开之后,点击数据,其他来源,来自SQL Server。

3

步骤3:打开数据链接向导之后,输入服务器名称和登陆用户名和密码。点击下一步。

步骤4:点击下一步之后,报错,不能够正常链接数据库。

步骤5:打开SQL Server 数据库代理服务器,查看代理停止工作,将其启动。

步骤6:修改服务器名称为SQL Server所在的服务器的IP地址填写入服务器名称,登陆名称和密码全部为sa。

步骤7:进入,选择数据库和表。选择PUBS,点击下一步。

步骤8:点击下一步,保持链接文件,点击完成。

步骤9:点击导入数据

步骤10

连接属性,连接名称:17216031

pubs employee,连接文件:C:\Documents and Settings\lys\My

Documents\我的数据源\17216031 pubs employeeodc 连接字符串:

Provider=SQLOLEDB1;Persist Security Info=True;User ID=sa;Data

Source=17216031;Use Procedure for Prepare=1;Auto

Translate=True;Packet Size=4096;Workstation ID=L10-1DA235E90;Use

Encryption for Data=False;Tag with column collation when

possible=False;Initial Catalog=pubs 命令文本:"pubs""dbo""employee"

步骤11:点击确定,输入密码Sa。

步骤12: 我们可以看到将SQL Server数据写入了EXCEL中。

查询EXCEL中数据库:

查询数据库中数据:

SELECT

FROM employee

1数据库连接:在config文件中的形式

<connectionStrings>

<add name="dbConnection" connectionString="Data Source=1921681100;Initial Catalog=NanFangMgr;User ID=sa;PassWord=sa" providerName="SystemDataSqlClient"/>

</connectionStrings>

2在C#中调用:

SystemConfigurationConfigurationManagerConnectionStrings["dbConnection"]ConnectionString

3将上述连接串保存到文本文件中

private string FILE_NAME = ApplicationStartupPath + "\\mytxtFiletxt";

private void WriteFile(string str)

{

StreamWriter sr;

if (FileExists(FILE_NAME)) //如果文件存在,则创建FileAppendText对象

{

sr = FileAppendText(FILE_NAME);

}

else //如果文件不存在,则创建FileCreateText对象

{

sr = FileCreateText(FILE_NAME);

}

srWriteLine(str);

srClose();

}

4从文本文件中去内容

private String ReadTxtFile()

{

if (FileExists(FILE_NAME)) //如果文件存在

{

String[] strs = SystemIOFileReadAllLines(FILE_NAME);

return strs[strsLength - 1];

}

return StringEmpty;

}

5数据库连接,并 *** 作

51 查询

String ConnectionString=SystemConfigurationConfigurationManagerConnectionStrings["dbConnection"]ConnectionString;

public DataTable Query(String where)

{

String sql = StringFormat("select from mytable Where {0}", whereToLower()Replace("update", "")Replace("delete", "")Replace("insert", "")Replace(";", "")Replace("--", "")Replace("exec", ""));

try

{

SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(ConnectionString));

DataTable dt = new DataTable();

daFill(dt);

return dt;

}

catch

{

return null;

}

}

52 新增

public int New(Entitiesmytable obj)

{

String sql = "insert into mytable(pkid,a,b,c) values(@pkid,@a,@b,@c)";

SqlConnection cn = new SqlConnection(ConnectionString);

SqlCommand cmd = new SqlCommand(sql, cn);

cmdParametersAddWithValue("@a", obja);

cmdParametersAddWithValue("@b", objb);

cmdParametersAddWithValue("@c", objc);

cmdParametersAddWithValue("@pkid",

StringEmptyEquals(objpkid) SystemGuidNewGuid()ToString() : objpkid);

try

{

if (cnState != ConnectionStateOpen)

cnOpen();

return cmdExecuteNonQuery();

}

catch

{

return -1;

}

finally

{

if (cnState != ConnectionStateClosed)

cnClose();

}

}

53 编辑

public int Update(Entitiesmytable obj)

{

String sql = "Update mytable Set a=@a,b=@b,c=@c Where pkid=@ObjectID";

SqlConnection cn = new SqlConnection(ConnectionString);

SqlCommand cmd = new SqlCommand(sql, cn);

cmdParametersAddWithValue("@a", obja);

cmdParametersAddWithValue("@b", objb);

cmdParametersAddWithValue("@c", objc);

cmdParametersAddWithValue("@pkid", objpkid);

try

{

if (cnState != ConnectionStateOpen)

cnOpen();

return cmdExecuteNonQuery();

}

catch

{

return -1;

}

finally

{

if (cnState != ConnectionStateClosed)

cnClose();

}

}

54 删除

public int Del(String where)

{

String sql = StringFormat("delete from mytable Where {0}", whereToLower()Replace("update", "")Replace("delete", ""));

SqlConnection cn = new SqlConnection(ConnectionString);

SqlCommand cmd = new SqlCommand(sql, cn);

try

{

if (cnState != ConnectionStateOpen)

cnOpen();

return cmdExecuteNonQuery();

}

catch

{

return -1;

}

finally

{

if (cnState != ConnectionStateClosed)

cnClose();

}

}

以上就是关于如何使用 APICloud 的端 API 连接到自己的服务器数据库获取数据全部的内容,包括:如何使用 APICloud 的端 API 连接到自己的服务器数据库获取数据、JDBC连接MySQL数据库进行文本读取、编写一个以读配置文件的Java连接数据库的程序。通过读取文件的相关属性来连接相应的数据库。文件mssql.ini等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9330428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存