在本文中,您将会了解到关于Android:表中没有名为“变量名”的列MySql数据库错误的新资讯,并给出一些关于AndroidStudio使用JDBC连接mysql数据库、android–通过LAN连
在本文中,您将会了解到关于Android:表中没有名为“变量名”的列MySql数据库错误的新资讯,并给出一些关于Android Studio 使用JDBC连接mysql数据库、android – 通过LAN连接到mySQL数据库,而不使用网络服务器、android 不能通过JDBC直接连接MYSQL数据库吗、android 通过tomcat 与mysql数据库连接报错的实用技巧。
本文目录一览:- Android:表中没有名为“变量名”的列MySql数据库错误
- Android Studio 使用JDBC连接mysql数据库
- android – 通过LAN连接到mySQL数据库,而不使用网络服务器
- android 不能通过JDBC直接连接MYSQL数据库吗
- android 通过tomcat 与mysql数据库连接报错
Android:表中没有名为“变量名”的列MySql数据库错误
当我尝试在数据库中放置新条目时,出现错误和下面显示的错误。我已经搜索了好几个小时,但无法检测到出了什么问题。任何输入都是极好的!
这是 LogCat 的 错误 。
02-27 23:02:51.451: E/SQLiteLog(6777): (1) table dager has no column named brutto02-27 23:02:51.451: E/SQLiteDatabase(6777): Error inserting brutto=0 date=21.03.2013 hours=402-27 23:02:51.451: E/SQLiteDatabase(6777): android.database.sqlite.SQLiteException: table dager has no column named brutto (code 1): , while compiling: INSERT INTO dager(brutto,date,hours) VALUES (?,?,?)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)02-27 23:02:51.451: E/SQLiteDatabase(6777): at com.adev.timelonn.DatabaseHandler.addDay(DatabaseHandler.java:79)02-27 23:02:51.451: E/SQLiteDatabase(6777): at com.adev.timelonn.AddHours.onClick(AddHours.java:99)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.view.View.performClick(View.java:4084)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.view.View$PerformClick.run(View.java:16966)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.os.Handler.handleCallback(Handler.java:615)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.os.Handler.dispatchMessage(Handler.java:92)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.os.Looper.loop(Looper.java:137)02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.app.ActivityThread.main(ActivityThread.java:4931)02-27 23:02:51.451: E/SQLiteDatabase(6777): at java.lang.reflect.Method.invokeNative(Native Method)02-27 23:02:51.451: E/SQLiteDatabase(6777): at java.lang.reflect.Method.invoke(Method.java:511)02-27 23:02:51.451: E/SQLiteDatabase(6777): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)02-27 23:02:51.451: E/SQLiteDatabase(6777): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)02-27 23:02:51.451: E/SQLiteDatabase(6777): at dalvik.system.NativeStart.main(Native Method)
我的 数据库文件 。
public class DatabaseHandler extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 1; // Database Name private static final String DATABASE_NAME = "timeliste"; // Contacts table name private static final String TABLE_DAYS = "dager"; // Contacts Table Columns names private static final String KEY_ID = "id"; private static final String KEY_DATE = "date"; private static final String KEY_HOURS = "hours"; private static final String KEY_UB = "ub"; private static final String KEY_BRUTTO = "brutto"; public DatabaseHandler(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } // Creating Tables @Override public void onCreate(SQLiteDatabase db) String CREATE_DAY_TABLE = "CREATE TABLE " + TABLE_DAYS + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_DATE + " TEXT," + KEY_HOURS + " INTEGER, " + KEY_UB + " INTEGER," + KEY_BRUTTO + "INTEGER," + ")"; db.execSQL(CREATE_DAY_TABLE); } // Upgrading database @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // Drop older table if existed db.execSQL("DROP TABLE IF EXISTS " + TABLE_DAYS); // Create tables again onCreate(db); } /** * All CRUD(Create, Read, Update, Delete) Operations */ // Adding new contact void addDay(AddNewDay newday) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(KEY_DATE, newday.getDate()); // GetDate values.put(KEY_BRUTTO, newday.getBrutto()); // GetBruttoLønn values.put(KEY_HOURS, newday.getHours()); // GetHours values.put(KEY_UB, newday.getUb()); // GetUBTillegg // Inserting Row db.insert(TABLE_DAYS, null, values); db.close(); // Closing database connection } // Get single day AddNewDay getContact(int id) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(TABLE_DAYS, new String[] { KEY_ID, KEY_DATE, KEY_HOURS, KEY_BRUTTO, KEY_UB }, KEY_ID + "=?", new String[] { String.valueOf(id) }, null, null, null, null); if (cursor != null) cursor.moveToFirst(); AddNewDay newday = new AddNewDay(Integer.parseInt(cursor.getString(0)), cursor.getString(1), Integer.parseInt(cursor.getString(2)), Integer.parseInt(cursor.getString(3)),Integer.parseInt(cursor.getString(4))); // return contact return newday; } // Getting All Contacts public List<AddNewDay> getAllContacts() { List<AddNewDay> contactList = new ArrayList<AddNewDay>(); // Select All Query String selectQuery = "SELECT * FROM " + TABLE_DAYS; SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null); // looping through all rows and adding to list if (cursor.moveToFirst()) { do { AddNewDay days = new AddNewDay(); days.setID(Integer.parseInt(cursor.getString(0))); days.setDate(cursor.getString(1)); days.setHours(Integer.parseInt(cursor.getString(2))); days.setUb(Integer.parseInt(cursor.getString(3))); days.setBrutto(Integer.parseInt(cursor.getString(4))); // Adding contact to list contactList.add(days); } while (cursor.moveToNext()); } // return contact list return contactList; } // Updating single contact public int updateDay(AddNewDay newday) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(KEY_ID, newday.getID()); values.put(KEY_DATE, newday.getDate()); values.put(KEY_HOURS, newday.getHours()); values.put(KEY_UB, newday.getUb()); values.put(KEY_BRUTTO, newday.getUb()); // updating row return db.update(TABLE_DAYS, values, KEY_ID + " = ?", new String[] { String.valueOf(newday.getID()) }); } // Deleting single contact public void deleteDay(AddNewDay newday) { SQLiteDatabase db = this.getWritableDatabase(); db.delete(TABLE_DAYS, KEY_ID + " = ?", new String[] { String.valueOf(newday.getID()) }); db.close(); } // Getting contacts Count public int getContactsCount() { String countQuery = "SELECT * FROM " + TABLE_DAYS; SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery(countQuery, null); cursor.close(); // return count return cursor.getCount(); }}
然后是我的 AddNewDay文件 。
public class AddNewDay { //private variables int _id; String _date; int _hours; int _ubtillegg; int _brutto; // Empty constructor public AddNewDay(){ } // constructor public AddNewDay(int id, String date, int hours, int ubtillegg, int brutto){ this._id = id; this._date = date; this._hours = hours; this._ubtillegg = ubtillegg; this._brutto = brutto; } // constructor public AddNewDay(String date, int hours, int brutto){ this._date = date; this._hours = hours; this._brutto = brutto; } // getting ID public int getID(){ return this._id; } // setting id public void setID(int id){ this._id = id; } // getting date public String getDate(){ return this._date; } // setting date public void setDate(String date){ this._date = date; } // getting hours public int getHours(){ return this._hours; } // setting hours public void setHours(int hours){ this._hours = hours; } // getting ubtillegg public int getUb(){ return this._ubtillegg; } // setting ubtillegg public void setUb(int ub){ this._ubtillegg = ub; } // getting brutto public int getBrutto(){ return this._brutto; } // setting brutto public void setBrutto(int brutto){ this._brutto = brutto; } public String toString() { return _date + " jobbet du " + _hours + " timer."; } }
这就是我在数据库中添加新条目的方式。
// # Makes a new object of newday. AddNewDay newday = new AddNewDay (); newday._date = "21.03.2013"; newday._id = 1; newday._hours = 4; newday._ubtillegg = 1500; // # Open databse connection and writes new day. DatabaseHandler connect = new DatabaseHandler (this); connect.addDay(newday); // # Updates the dblist with entries. GlobalVariables.dblist = connect.getAllContacts();
答案1
小编典典所以基本上我找到了解决方案。我仍然对它的愚蠢感到困惑。显然,数据库工作是我的超敏感材料!我的问题是我忘记了最后一个“
INTEGER”值中的空格。所以不是" INTEGER"
我写了"INTEGER"
,而是给了我一行,"bruttoINTEGER"
而不是“
brutto”。因此,空格是错误。我将createTable函数重写为:
public void onCreate(SQLiteDatabase db) { String CREATE_DAY_TABLE = "CREATE TABLE " + TABLE_DAYS + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_DATE + " TEXT," + KEY_HOURS + " INTEGER, " + KEY_UB + " INTEGER," + KEY_BRUTTO + " INTEGER" + ");"; db.execSQL(CREATE_DAY_TABLE); }
Android Studio 使用JDBC连接mysql数据库
Android Studio 使用JDBC连接MysqL数据库
1.下载mysql-connector-java-5.1.7
(有可能不能用,如果不能用就自己在官网下载吧)
链接:https://pan.baidu.com/s/1j5Qh7p3Y346O1ctOjthZMQ
提取码:04w2
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V1的分享
2.将jar包导入到Android Studio
3.创建数据库连接帮助类
//MysqL数据库的连接辅助类:生成连接、生成数据库操作对象
public class DbOpenHelper {
private static final String driver = "com.MysqL.jdbc.Driver";// MysqL驱动
//192.168.43.65为我电脑的ip,这里要用自己电脑的ip,transportation为我电脑的数据库名,也要换。
private static final String url = "jdbc:MysqL://192.168.43.65:3306/transportation?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8";
private static final String user = "root";// 用户名
private static final String password = "123456";// 密码
public static Connection conn;//连接对象
public static Statement stmt;//命令集
public static PreparedStatement pStmt;//预编译命令集
public static ResultSet rs;//结果集
//取得连接的方法
public static void getConnection(){
try {
Class.forName(driver);
try {
conn = DriverManager.getConnection(url,user,password);
} catch (sqlException e) {
e.printstacktrace();
}
} catch (ClassNotFoundException e) {
e.printstacktrace();
}
}
//关闭数据库
public static void closeAll(){
if(rs!=null){
try {
rs.close();
} catch (sqlException e) {
e.printstacktrace();
}
rs = null;
}
if(stmt!=null){
try {
stmt.close();
} catch (sqlException e) {
e.printstacktrace();
}
stmt = null;
}
if(pStmt!=null){
try {
pStmt.close();
} catch (sqlException e) {
e.printstacktrace();
}
pStmt = null;
}
if(conn!=null){
try {
conn.close();
} catch (sqlException e) {
e.printstacktrace();
}
conn = null;
}
}
}
其中ip要换成自己电脑的IP,打开cmd,执行ipconfig,IPv4地址为此处的IP,数据库名称也要换,以及登录数据库的用户名、密码也要换成自己的。
PS:这里还要打开cmd登录数据库,对数据库允许访问的IP权限进行设置,具体设置方法:
grant all privileges on *.* to 'root'@'ip'identified by '密码'; #授权某个ip的用户可以通过密码访问数据库
此时Android studio就连接上了MysqL数据库了。
android – 通过LAN连接到mySQL数据库,而不使用网络服务器
我该怎么做呢?你能提供一些资源/链接,我可以研究这个话题
解决方法
现在,您计划分发给数千用户的真实应用程序存在安全问题,性能问题和可扩展性问题.
安全问题:
>通过打开其端口以公开访问应用程序进行连接,将数据库直接暴露给互联网. Web应用程序在中间添加一个图层,保持数据库访问内部网.
>通过提供至少一个所有人知道的公共帐户,将您的数据指引给公众(我认为这将是访问的方式,因为每个用户管理一个帐户是不现实的). Web应用程序将用户帐户与数据库帐户隔离.
>通过这种方式提供访问权限,Android移动设备可以根植,您可能会授予对您的数据的匿名访问权限.
性能问题:
>在中间有一个网络应用程序,它是管理的webapp
到数据库的连接.这样可以共享连接
在不同的用户之间,每个用户将有一个专用连接
如果不同的设备有可分离的连接.
由于同样的原因,您无法利用连接池,
这节省了建立与数据库的连接的过剩
对于每个传入请求.
可扩展性问题:
>由于连接不共享,并发用户的数量将被绑定到可以同时打开到数据库的连接数.
编辑1
我正在添加一种我认为涉及使用Web应用程序的替代方案,但是它不是使用Web服务器实现的.它是一个独立运行的java NIO框架.这个解决方案的局限性是你需要shell访问服务器和java,这在传统的主机中是不常见的.结帐Netty.
android 不能通过JDBC直接连接MYSQL数据库吗
是不是 要用webservice或者socket???android 通过tomcat 与mysql数据库连接报错
想做一个无线点餐的安卓app 开桌把桌号传到数据库 但是servlet不太会 想请教为什么出错 这是activity传数据的主要代码 package com.systaresto_client; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import util.HttpUtil; import com.systaresto_client.R; import com.systaresto_client.R.layout; import com.systaresto_client.R.menu; import android.os.AsyncTask; import android.os.Bundle; import android.os.StrictMode; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; @SuppressLint("NewApi") public class KaizhuoActivity extends Activity { String personNum; String tableID; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_kaizhuo); Button openTb = (Button)findViewById(R.id.openTbButton);//caidan openTb.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { EditText personNumEt = (EditText) findViewById(R.id.personNumEditText02); personNum = personNumEt.getText().toString(); EditText tableIDEt = (EditText) findViewById(R.id.tableNumEditText); tableID = tableIDEt.getText().toString(); // 桌�?� if ( tableID.equals("1")){ showDialog("该桌已开"); } else { Intent intent = new Intent(); // 调用点菜方法 // 桌号 intent.setClass(KaizhuoActivity.this,JiacaiActivity.class); Bundle bundle = new Bundle(); bundle.putString("tableID",tableID); bundle.putString("personNum",personNum); intent.putExtras(bundle); startActivity(intent); List<BasicNameValuePair> params =new LinkedList<BasicNameValuePair>(); params.add(new BasicNameValuePair("OrderNum", tableID)); params.add(new BasicNameValuePair("Person",personNum)); UrlEncodedFormEntity entity1=null; try { entity1 = new UrlEncodedFormEntity(params,HTTP.UTF_8); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } // 请求服务器Servlet的url String url = HttpUtil.BASE_URL+"servlet/KaizhuoServlet"; // 获得HttpPost对象 HttpPost request = HttpUtil.getHttpPost(url); // 为请求设置参数 request.setEntity(entity1); // 获得返回结果 String result= HttpUtil.queryStringForPost(request); System.out.print(result); StrictMode .setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites() .detectNetwork() // or .detectAll() for all // detectable problems .penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() // 探测SQLite数据库操作 .penaltyLog() // 打印logcat .penaltyDeath().build()); finish(); } } }); Button mCancel = (Button)findViewById(R.id.fanhui); mCancel.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish();//这个是关键 } }); Button mainMenu = (Button)findViewById(R.id.zhucaidan); mainMenu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i=new Intent(KaizhuoActivity.this, MainActivity.class); startActivity(i); KaizhuoActivity.this.startActivity(i); KaizhuoActivity.this.finish(); } }); } private void showDialog(String msg){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(msg) .setCancelable(false) .setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { } }) .setPositiveButton("添菜", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { EditText personNumEt = (EditText) findViewById(R.id.personNumEditText02); String personNum = personNumEt.getText().toString(); EditText tableIDEt = (EditText) findViewById(R.id.tableNumEditText); String tableID = tableIDEt.getText().toString(); Intent intent = new Intent(); // 调用点菜方法 // 桌号 intent.setClass(KaizhuoActivity.this,JiacaiActivity.class); Bundle bundle = new Bundle(); bundle.putString("personNum",personNum); bundle.putString("tableID",tableID); intent.putExtras(bundle); startActivity(intent); } }); AlertDialog alert = builder.create(); alert.show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.kaizhuo, menu); return true; } }这是开桌daoImpl package dao.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import dao.kaizhuoDao; import util.DBUtil; import entity.kaizhuo; public class KaizhuoDaoImpl implements kaizhuoDao { String TableId ; String PersonNum; public kaizhuo check(String OrderNum, String Person){ // 查询SQL语句 String sql1 = " select OrderNum,Person,Montant"+ " from commandinfo7"+ " where OrderNum=? and Person=? "; // 添加SQL语句 // String sql2 = " insert into commandinfo7(OrderNum,Person)values(3,3) "; // 数据库连接工具类 DBUtil util = new DBUtil(); // 获得连接 Connection conn = util.openConnection(); try { // 获得预定义语句 PreparedStatement pstmt = conn.prepareStatement(sql1); // PreparedStatement pstmt2 = conn.prepareStatement(sql2); // 设置查询参数 pstmt.setString(1, OrderNum); pstmt.setString(2, Person); // pstmt2.setString(3, OrderNum); // pstmt2.setString(4, Person); // 执行查询 ResultSet rs = pstmt.executeQuery(); // 判断用户是否存在 if (rs.next()) { // 获得用户信息 // OrderNum = rs.getString(1); // Person = rs.getString(2); float Montant= rs.getFloat(3); // 封装用户信息 kaizhuo k = new kaizhuo(); k.setMontant(Montant); k.setOrderNum(OrderNum); k.setPerson(Person); return k; }else return null; } catch (SQLException e) { e.printStackTrace(); } finally { util.closeConn(conn); } return null; } // 保存点餐列表 public kaizhuo saveKaizhuo(kaizhuo kz) { // 添加SQL语句 String sql = " insert into commandinfo7(OrderNum,Person)values(?,?) "; // 数据库连接工具类 DBUtil util = new DBUtil(); // 获得连接 Connection conn = util.openConnection(); try { // 获得预定义语句 PreparedStatement pstmt = conn.prepareStatement(sql); // 设置参数 pstmt.setString(1, kz.getOrderNum()); pstmt.setString(2, kz.getPerson()); // 执行更新 pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { util.closeConn(conn); } return null; } public static void main(String[] args) { kaizhuoDao dao = new KaizhuoDaoImpl(); kaizhuo k = dao.check("3", "1"); System.out.println(k.getMontant()); kaizhuo kz = dao.saveKaizhuo(k); } }
这是servlet
package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dao.kaizhuoDao; import dao.impl.KaizhuoDaoImpl; import entity.kaizhuo; public class KaizhuoServlet extends HttpServlet { public KaizhuoServlet() { super(); } public void destroy(){ super.destroy(); } private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); // 桌号 String OrderNum = request.getParameter("OrderNum"); // 人数 String Person = request.getParameter("Person"); // 获得DAO接口 kaizhuoDao dao = new KaizhuoDaoImpl(); // 实例化订单类 kaizhuo k = dao.check(OrderNum, Person); kaizhuo kz = new kaizhuo(); kz.setOrderNum(OrderNum); kz.setPerson(Person); // 设置订单属性 k.setPerson(Person); k.setOrderNum(OrderNum); dao.saveKaizhuo(kz); out.flush(); out.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } public void init() throws ServletException{ } }
开桌 dao
package dao; import entity.kaizhuo; public interface kaizhuoDao { // 开桌信息 public kaizhuo check (String OrderNum ,String Person ); public kaizhuo saveKaizhuo(kaizhuo kz); }package entity;entity开桌
public class kaizhuo {
// 桌号
private String OrderNum;
// 人数
private String Person;
private float Montant;
public float getMontant() {
return Montant;
}
public void setMontant(float montant) {
Montant = montant;
}
public String getOrderNum() {
return OrderNum;
}
public void setOrderNum(String orderNum) {
OrderNum = orderNum;
}
public String getPerson() {
return Person;
}
public void setPerson(String person) {
Person = person;
}
}
DBUtil
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
/*
* 关闭数据库连接
*/
public void closeConn(Connection conn){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/*
* 打开数据库连接
*/
public Connection openConnection() {
String url="jdbc:mysql://localhost:3306/systaresto?useUnicode=true&characterEncoding=utf-8";
String username="root";
String password="test";
try {
// prop.load(this.getClass().getClassLoader().getResourceAsStream(
// "DBConfig.properties"));
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
关于Android:表中没有名为“变量名”的列MySql数据库错误的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Android Studio 使用JDBC连接mysql数据库、android – 通过LAN连接到mySQL数据库,而不使用网络服务器、android 不能通过JDBC直接连接MYSQL数据库吗、android 通过tomcat 与mysql数据库连接报错的相关知识,请在本站寻找。
本文标签: