当前位置: 首页 > news >正文

用来做调查问卷的网站网站推广工作职责

用来做调查问卷的网站,网站推广工作职责,seo营销的策略有哪些,网站页面关键词都一样目录标题 关系型数据库的运行机制样例代码共通方法 DBUtilsIndex 代码效果 关系型数据库的运行机制 1、 关系型数据库对应用提供通用的操作接口#xff0c;底层使用SQLite作为持久化存储引擎#xff0c;支持SQLite具有的数据库特性#xff0c;包括但不限于事务、索引、视图… 目录标题 关系型数据库的运行机制样例代码共通方法 DBUtilsIndex 代码效果 关系型数据库的运行机制 1、 关系型数据库对应用提供通用的操作接口底层使用SQLite作为持久化存储引擎支持SQLite具有的数据库特性包括但不限于事务、索引、视图、触发器、外键、参数化查询和预编译SQL语句。 样例代码 共通方法 DBUtils import relationalStore from ohos.data.relationalStore import { common } from kit.AbilityKitexport class DBUtils {// 数据库名称private tableName: string accountTable// 建表语句private sqlCreate: string CREATE TABLE IF NOT EXISTS accountTable(id INTEGER PRIMARY KEY AUTOINCREMENT, accountType INTEGER, typeText TEXT, amount INTEGER)// 表字段private columns: string[] [id, accountType, typeText, amount]// 数据库核心类private rdbStore: relationalStore.RdbStore | null null// 数据库配置DB_CONFIG: relationalStore.StoreConfig {name: RdbTest.db, // 数据库文件名securityLevel: relationalStore.SecurityLevel.S1, // 数据库安全级别};/*** 获取rdb* param context上下文* param callback回调函数我们第一次获取数据时需要在获取到rdb之后才能获取所以有此回调*/getRdbStore(context: common.UIAbilityContext, callback: Function) {relationalStore.getRdbStore(context, this.DB_CONFIG, (error, store) {if (this.rdbStore ! null) {//如果已经有rdb直接建表store.executeSql(this.sqlCreate)return}//保存rdb下边会用this.rdbStore store//建表store.executeSql(this.sqlCreate)console.log(test, successed get dbStore)if (callback) callback()})}/*** 插入数据* param data数据对象* param callback回调函数这里的结果是通过回调函数返回的也可使用返回值*/insertData(data: AccountData, callback: Function) {//将数据对象转换为ValuesBucket类型const valueBucket: relationalStore.ValuesBucket generateValueBucket(data);// 调用insert插入数据this.rdbStore this.rdbStore.insert(this.tableName, valueBucket, (err, res) {if (err) {console.log(test插入失败, err)callback(-1)return}console.log(test插入成功, res)callback(res) //res为行号})}/*** 获取数据* param callback接收结果的回调函数*/query(callback: Function) {//predicates是用于添加查询条件的let predicates new relationalStore.RdbPredicates(this.tableName)// 查询所有不需要条件// predicates.equalTo(字段,数据)this.rdbStore this.rdbStore.query(predicates, this.columns, (error, resultSet: relationalStore.ResultSet) {if (error) {console.log(test,获取数据失败, JSON.stringify(error))return}let rowCount: number resultSet.rowCountconsole.log(test, 数据库中数据数量 rowCount) //没数据时返回-1或0if (rowCount 0 || typeof rowCount string) {callback([])return}let result: AccountData[] []//上来必须调用一次goToNextRow让游标处于第一条数据while(resultSet.goToNextRow())是最有写法while (resultSet.goToNextRow()) {let accountData: AccountData { id: 0, accountType: 0, typeText: , amount: 0 }accountData.id resultSet.getDouble(resultSet.getColumnIndex(id));accountData.typeText resultSet.getString(resultSet.getColumnIndex(typeText))accountData.accountType resultSet.getDouble(resultSet.getColumnIndex(accountType))accountData.amount resultSet.getDouble(resultSet.getColumnIndex(amount))result.push(accountData)}callback(result)resultSet.close() //释放数据集内容})} }function generateValueBucket(account: AccountData): relationalStore.ValuesBucket {let obj: relationalStore.ValuesBucket {};obj.accountType account.accountType;obj.typeText account.typeText;obj.amount account.amount;return obj; }export class AccountData {id: number -1;accountType: number 0;typeText: string ;amount: number 0; }Index 代码 import { AccountData, DBUtils } from ../uitls/DBUtils; import { common } from kit.AbilityKit;Entry Component struct Index_DBPage {// 数据库工具类private dbUtils: DBUtils new DBUtils()private context: common.UIAbilityContext getContext(this) as common.UIAbilityContext// 账户数据数组State accountDataArray: AccountData[] []// 列表的图片数组imageArr: Resource[] [$r(app.media.foods), $r(app.media.games), $r(app.media.fuel)]// 添加数据弹框addDialogController: CustomDialogController new CustomDialogController({builder: AddDialog({//点击确定的回调confirm: (insertData: AccountData) {this.onConfirm(insertData)}})})// 界面打开时查询数据展示胡静aboutToAppear(): void {this.dbUtils.getRdbStore(this.context, () {this.queryData()})}// 查询数据方法queryData() {this.dbUtils.query((result: AccountData[]) {this.accountDataArray resultconsole.log(test获取数据成功, JSON.stringify(this.accountDataArray))})}// 点击确定回调onConfirm(insertData: AccountData) {console.log(test, JSON.stringify(insertData))// 插入数据this.dbUtils.insertData(insertData, (res: number) {if (res 0) {// AlertDialog.show({ message: 添加成功 })this.queryData()} else {AlertDialog.show({ message: 添加失败 })}})}build() {Stack() {Column() {Row() {Text(关系型数据库).height(33).fontSize(24).margin({ left: 24 }).fontColor(Color.Red)}.width(100%).justifyContent(FlexAlign.SpaceBetween).margin(12).backgroundColor(Color.Grey)//数据列表List({ space: 20 }) {ForEach(this.accountDataArray, (item: AccountData, index: number) {ListItem() {Row() {// 图片Image(this.imageArr[item.accountType]).width(40).aspectRatio(1).margin({ right: 16 })// 内容Text(item.typeText).height(22).fontSize(16)Blank().layoutWeight(1)// 金额Text(: String(item.amount)).height(22).fontSize(16)}.width(90%).padding({ left: 12, right: 12 }).margin({ left: 20 }).backgroundColor(#f1f3f5).padding(10).borderRadius(30)}})}}.width(100%)Button() {Image($r(app.media.add))}.width(48).height(48).position({ x: 80%, y: 90% }).onClick(() {this.addDialogController.open()})}} }interface Item {icon: Resource;text: string; }CustomDialog struct AddDialog {controller: CustomDialogController;//确认回调confirm?: (insertData: AccountData) voiditems: ArrayItem [{ icon: $r(app.media.foods), text: 吃饭 },{ icon: $r(app.media.games), text: 娱乐 },{ icon: $r(app.media.fuel), text: 加油 },]State currentIndex: number -1State money: number 0build() {Column() {Row() {ForEach(this.items, (item: Item, index) {Column() {Image(item.icon).width(40).height(40)Text(item.text).fontSize(12).fontColor(#FF007DFF).margin({ top: 8 })}.width(86).aspectRatio(1) //指定当前组件的宽高比.padding({ top: 12 }).margin({ top: 16, left: 12 }).align(Alignment.TopStart).backgroundColor(this.currentIndex index ? #ccc : #FFF1F3F5).borderRadius(16).onClick(() {this.currentIndex index})})}.width(100%).justifyContent(FlexAlign.Center)Row() {Column() {Text(金额).width(100%).fontSize(20).fontColor(Color.Black)Column() {TextInput({placeholder: 请输入金额}).padding({ left: 0, top: 0, bottom: 0 }).borderRadius(0).backgroundColor(Color.White).type(InputType.Number).onChange((value: string) {this.money Number(value)})}.height(48).padding({ top: 15, bottom: 11 }).borderWidth({ bottom: 1 }).borderColor(#33182431)Button(确定).onClick((event: ClickEvent) {if (this.currentIndex -1) {AlertDialog.show({ message: 请选择种类 })return}if (this.money 0) {AlertDialog.show({ message: 请输入金额 })return}let insertData: AccountData {id: 0,accountType: this.currentIndex,typeText: this.items[this.currentIndex].text,amount: this.money}this.confirm this.confirm(insertData)this.controller.close()}).width(90%).margin(20)}.width(100%).padding({ left: 12, right: 12 })}.width(100%).margin(20)}} }效果
http://www.dnsts.com.cn/news/33715.html

相关文章:

  • 惠州网站建设创业麒麟网站建设
  • 最近三天国内重大新闻网站推广与优化怎么做
  • 深圳网站设计价格表网站制作价钱多少
  • 湖州市住房和城乡建设局官方网站展示型网站怎么做
  • 江西南昌网站建设服务种子库
  • 泉州教育平台网站建设网站规划与设计就业
  • 更新网站怎么弄asp.net网站搬迁到移动终端
  • 阿里云网站空间做商城流程如何连接到网站服务器
  • 不同域名指向同一网站网上做问卷报酬不错的网站是
  • 召开网站建设培训会wordpress吗
  • 西湖区网站建设淄博网站建设好的公司
  • 网站建设类型有哪些计算机大二建设网站
  • 南宁网站建设接单上海设计网站
  • 室内装修设计网站推荐福州短视频seo获客
  • 英文网站编辑怎么做网站建设和维护的教程
  • 学校网站logo怎么做wordpress浏览次数插件
  • 做网站公司做网站公司俄罗斯视频网站开发
  • 东莞医疗网站建设报价建设网站如入什么费
  • 南京企业网站排名优化网站设计理念怎么写
  • asp access 手机站 用于做微网站做网站的细节
  • 网站建设合同建设方注意事项wordpress 3.9中文版
  • 3yx这个网站做刷单菏泽建设信息网官网
  • 中山市企业网站seo哪里好网站开发一般用什么数据库
  • 理财 网站模板 html金泉网做网站电话
  • 企业做网站推广产品需要多少钱重庆网站建设论文
  • 电商网站开发模板刷赞网站怎么做的
  • 专门做网页的网站昵图网免费素材图库官网手机版
  • 云南建设银行招聘网站中国网重庆
  • 网站域名起名1000个免费邮箱账号
  • 网站尾部赣州网站制作