- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当插入到 sqlite 数据库中时,sqlite 中的
id 不会生成唯一的 id。有学院列表、大学列表和学校列表,我必须为其添加书签。当我为学校的第一个项目添加书签时,学院和大学的第一个项目被添加为书签。如何解决这个问题??
数据库助手类
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseUpdatedListener databaseUpdatedListener;
static final String DATABASE_NAME = "BookmarkDatabase";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME_BOOKMARK = "bookmark";
// Contact table columns name
private static final String ID = "Id";
private static final String NAME = "Name";
private static final String ADDRESS = "Address";
private static final String LOGO = "Logo";
private static final String COUNTRY = "country";
private static final String PHONE = "phone";
private static final String EMAIL = "email";
private static final String WEBSITE = "website";
private static final String INSTITUTION_TYPE = "institution_type";
private static final String ESTABLISHED_DATE = "establishment_date";
private static final String ADMISSION_OPEN_FROM = "admission_open_from";
private static final String ADMISSION_OPEN_TO = "admission_open_to";
private static final String LATITUDE = "latitude";
private static final String LONGITUDE = "longitude";
String createTableBookmark = "Create table if not exists `Bookmark` (" + "`name` TEXT," + "`location` TEXT," + "`logo` TEXT);";
String CREATE_SCHOOL_BOOKMARK_TABLE = "CREATE TABLE " + TABLE_NAME_BOOKMARK + "("
+ ID + " INTEGER PRIMARY KEY AUTOINCREMENT "
+ NAME + " TEXT, "
+ LOGO + " TEXT, "
+ ADDRESS + " TEXT, "
+ COUNTRY + " TEXT, "
+ PHONE + " TEXT, "
+ EMAIL + " TEXT, "
+ WEBSITE + " TEXT, "
+ INSTITUTION_TYPE + " TEXT, "
+ ESTABLISHED_DATE + " TEXT, "
+ ADMISSION_OPEN_FROM + " TEXT, "
+ ADMISSION_OPEN_TO + " TEXT, "
+ LATITUDE + " TEXT, "
+ LONGITUDE + " TEXT " + ")";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void insertBookmarkData(Bookmarkitem bookmarkitem) {
SQLiteDatabase db = getWritableDatabase();
ContentValues content = new ContentValues();
content.put("name", bookmarkitem.name);
content.put("location", bookmarkitem.address);
content.put("logo", bookmarkitem.logo);
db.insert("Bookmark", null, content);
}
public ArrayList<Bookmarkitem> getBookmarkist() {
String sql = "select * from Bookmark ";
ArrayList<Bookmarkitem> bookmarklist = new ArrayList<Bookmarkitem>();
Cursor c = getWritableDatabase().rawQuery(sql, null);
while (c.moveToNext()) {
Bookmarkitem info = new Bookmarkitem();
info.name = c.getString(c.getColumnIndex("name"));
info.address = c.getString(c.getColumnIndex("location"));
info.logo = c.getString(c.getColumnIndex("logo"));
bookmarklist.add(info);
}
c.close();
return bookmarklist;
}
public Bookmarkitem getBookmarkData(String bookmarkName) {
String sql = "select * from Bookmark where id='" + bookmarkName + "'";
Cursor c = getWritableDatabase().rawQuery(sql, null);
while (c.moveToNext()) {
Bookmarkitem info = new Bookmarkitem();
info.name = c.getString(c.getColumnIndex("name"));
info.address = c.getString(c.getColumnIndex("location"));
info.logo = c.getString(c.getColumnIndex("logo"));
}
c.close();
Bookmarkitem info = null;
return info;
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
// TODO Auto-generated method stub
sqLiteDatabase.execSQL(CREATE_SCHOOL_BOOKMARK_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int arg1, int arg2) {
// TODO Auto-generated method stub
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME_BOOKMARK);
onCreate(sqLiteDatabase);
}
public void addSchoolBookmark(Bookmarkitem bookmarkitem, MenuItem menuItem) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(ID, bookmarkitem.getBookmarkID());
values.put(NAME, bookmarkitem.getName());
values.put(LOGO, bookmarkitem.getLogo());
values.put(ADDRESS, bookmarkitem.getAddress());
values.put(COUNTRY, bookmarkitem.getCountry());
values.put(PHONE, bookmarkitem.getPhone());
values.put(EMAIL, bookmarkitem.getEmail());
values.put(WEBSITE, bookmarkitem.getWebsite());
values.put(INSTITUTION_TYPE, bookmarkitem.getInstitution_type());
values.put(ESTABLISHED_DATE, bookmarkitem.getEstablishment_date());
values.put(ADMISSION_OPEN_FROM, bookmarkitem.getAdmission_open_from());
values.put(ADMISSION_OPEN_TO, bookmarkitem.getAdmission_open_to());
values.put(LATITUDE, bookmarkitem.getLatitude());
values.put(LONGITUDE, bookmarkitem.getLongitude());
//inserting row
if (db.insert(TABLE_NAME_BOOKMARK, null, values) != -1) {
//
databaseUpdatedListener.setDatabaseSuccess(bookmarkitem.getName(), menuItem);
}
/* else {
databaseUpdatedListener.setDatabaseError("Failed to Delete");
} */
// db.beginTransaction();
db.close();
}
public List<Bookmarkitem> getAllSchoolBookmark() {
SQLiteDatabase db = this.getWritableDatabase();
String selectQuery = "SELECT * FROM " + TABLE_NAME_BOOKMARK;
List<Bookmarkitem> bookmarkitems = new ArrayList<>();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
Bookmarkitem bookmarkitem = new Bookmarkitem();
bookmarkitem.setBookmarkID(Integer.parseInt(cursor.getString(0)));
bookmarkitem.setName(cursor.getString(1));
bookmarkitem.setLogo(cursor.getString(2));
bookmarkitem.setAddress(cursor.getString(3));
bookmarkitem.setCountry(cursor.getString(4));
bookmarkitem.setPhone(cursor.getString(5));
bookmarkitem.setEmail(cursor.getString(6));
bookmarkitem.setWebsite(cursor.getString(7));
bookmarkitem.setInstitution_type(cursor.getString(8));
bookmarkitem.setEstablishment_date(cursor.getString(9));
bookmarkitem.setAdmission_open_from(cursor.getString(10));
bookmarkitem.setAdmission_open_to(cursor.getString(11));
bookmarkitem.setLatitude(cursor.getString(12));
bookmarkitem.setLongitude(cursor.getString(13));
bookmarkitems.add(bookmarkitem);
} while (cursor.moveToNext());
}
return bookmarkitems;
}
public boolean removeBookmarkItem(String id) {
SQLiteDatabase db = this.getWritableDatabase();
return db.delete(TABLE_NAME_BOOKMARK, ID + "=" + id, null) > 0;
}
public Bookmarkitem getBoomarkDetailByID(String id) {
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = null;
String empName = "";
try {
Bookmarkitem bookmarkitem = new Bookmarkitem();
cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME_BOOKMARK + " WHERE " + ID + "=?", new String[]{id + ""});
if (cursor.getCount() > 0) {
cursor.moveToFirst();
bookmarkitem.setBookmarkID(Integer.parseInt(cursor.getString(0)));
bookmarkitem.setName(cursor.getString(1));
bookmarkitem.setLogo(cursor.getString(2));
bookmarkitem.setAddress(cursor.getString(3));
bookmarkitem.setCountry(cursor.getString(4));
bookmarkitem.setPhone(cursor.getString(5));
bookmarkitem.setEmail(cursor.getString(6));
bookmarkitem.setWebsite(cursor.getString(7));
bookmarkitem.setInstitution_type(cursor.getString(8));
bookmarkitem.setEstablishment_date(cursor.getString(9));
bookmarkitem.setAdmission_open_from(cursor.getString(10));
bookmarkitem.setAdmission_open_to(cursor.getString(11));
bookmarkitem.setLatitude(cursor.getString(12));
bookmarkitem.setLongitude(cursor.getString(13));
}
return bookmarkitem;
} finally {
cursor.close();
}
}
}
书签适配器类
public class BookmarkAdapter extends BaseAdapter {
private Activity activity;
private LayoutInflater inflater;
private List<Bookmarkitem> ourBookmarkList;
ImageLoader imageLoader = AppController.getInstance().getImageLoader();
public BookmarkAdapter(Activity activity, List<Bookmarkitem> ourBookmarkList) {
this.activity = activity;
this.ourBookmarkList = ourBookmarkList;
}
@Override
public int getCount() {
return ourBookmarkList.size();
}
@Override
public Object getItem(int location) {
return ourBookmarkList.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.bookmark_list, null);
if (imageLoader == null)
imageLoader = AppController.getInstance().getImageLoader();
NetworkImageView bookmarkLogo = (NetworkImageView) convertView
.findViewById(R.id.bookmarklogo);
TextView bookmarkTitle = (TextView) convertView.findViewById(R.id.bookmarkTitle);
TextView bookmarkAddress = (TextView) convertView.findViewById(R.id.bookmarkAddress);
Bookmarkitem m = ourBookmarkList.get(position);
bookmarkLogo.setImageUrl(m.getLogo(), imageLoader);
bookmarkTitle.setText("Name: " + m.getName());
bookmarkAddress.setText("Address: " + String.valueOf(m.getAddress()));
return convertView;
}
}
数据库更新监听器
public interface DatabaseUpdatedListener {
void setDatabaseSuccess(String schoolName, MenuItem item);
void setDatabaseError(String failureMessage);
}
插入数据库时没有生成唯一id,请问如何解决??
最佳答案
不同的字段名称 .
private static final String ID = "Id";
String sql = "select * from Bookmark where id='" + bookmarkName + "'"; // why id ? must be ID
演示示例 .
private static final String USER_ID= "user_id";
String sql = "select * from Bookmark where user_id='" + bookmarkName + "'";
cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME_BOOKMARK + " WHERE " + USER_ID+ "=?", new String[]{id + ""});
然后卸载旧应用并再次运行。
关于android - Sqlite 数据库中的 ID 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42060766/
我的问题是如何在 python 中创建一个简单的数据库。我的例子是: User = { 'Name' : {'Firstname', 'Lastname'}, 'Address' : {'Street
我需要创建一个与远程数据库链接的应用程序! mysql 是最好的解决方案吗? Sqlite 是唯一的本地解决方案吗? 我使用下面的方法,我想知道它是否是最好的方法! NSString *evento
给定两台 MySQL 服务器,一台本地,一台远程。两者都有一个包含表 bohica 的数据库 foobar。本地服务器定义了用户 'myadmin'@'%' 和 'myadmin'@'localhos
我有以下灵活的搜索查询 Select {vt:code},{vt:productcode},{vw:code},{vw:productcode} from {abcd AS vt JOIN wxyz
好吧,我的电脑开始运行有点缓慢,所以我重置了 Windows,保留了我的文件。因为我的大脑还没有打开,所以我忘记事先备份我的 MySQL 数据库。我仍然拥有所有原始文件,因此我实际上仍然拥有数据库,但
如何将我的 Access 数据库 (.accdb) 转换为 SQLite 数据库 (.sqlite)? 请,任何帮助将不胜感激。 最佳答案 1)如果要转换 db 的结构,则应使用任何 DB 建模工具:
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
我想在相同的 phonegap 应用程序中使用 android 数据库。 更多说明: 我创建了 phonegap 应用程序,但 phonegap 应用程序不支持服务,所以我们已经在 java 中为 a
Time Tracker function clock() { var mytime = new Date(); var seconds
我需要在现有项目上实现一些事件的显示。我无法更改数据库结构。 在我的 Controller 中,我(从 ajax 请求)传递了一个时间戳,并且我需要显示之前的 8 个事件。因此,如果时间戳是(转换后)
我有一个可以收集和显示各种测量值的产品(不会详细介绍)。正如人们所期望的那样,显示部分是一个数据库+建立在其之上的网站(使用 Symfony)。 但是,我们可能还会创建一个 API 来向第三方公开数据
我们将 SQL Server 从 Azure VM 迁移到 Azure SQL 数据库。 Azure VM 为 DS2_V2、2 核、7GB RAM、最大 6400 IOPS Azure SQL 数据
我正在开发一个使用 MongoDB 数据库的程序,但我想问在通过 Java 执行 SQL 时是否可以使用内部数据库进行测试,例如 H2? 最佳答案 你可以尝试使用Testcontainers Test
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题似乎与 a specific programming problem, a sof
我正在尝试使用 MSI 身份验证(无需用户名和密码)从 Azure 机器学习服务连接 Azure SQL 数据库。 我正在尝试在 Azure 机器学习服务上建立机器学习模型,目的是我需要数据,这就是我
我在我的 MySQL 数据库中使用这个查询来查找 my_column 不为空的所有行: SELECT * FROM my_table WHERE my_column != ""; 不幸的是,许多行在
我有那个基地:http://sqlfiddle.com/#!2/e5a24/2这是 WordPress 默认模式的简写。我已经删除了该示例不需要的字段。 如您所见,我的结果是“类别 1”的两倍。我喜欢
我有一张这样的 table : mysql> select * from users; +--------+----------+------------+-----------+ | userid
我有表: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL
我是一名优秀的程序员,十分优秀!