C#中连接MySql数据库,需要配置MySql.Data。 1.配置 项目- 管理NuGet程序包 – 安装MySql.Data。 2.示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
using MySql.Data.MySqlClient; using System; namespace MySQL { class Program { static void Main(string[] args) { string server = "172.0.0.1"; string database = "test"; string uid = "root"; string password = "123456"; string SslMode = "none"; string connectionString; connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";" + "SslMode=" + SslMode; MySqlConnection mycon = new MySqlConnection(connectionString); mycon.Open(); MySqlCommand mycmd = new MySqlCommand("insert into buyer(name,password,email) values('小王','dikd3939','1134384387@qq.com')", mycon); if (mycmd.ExecuteNonQuery() > 0) { Console.WriteLine("数据插入成功!"); } Console.ReadLine(); mycon.Close(); } } } |
3.注意事项 运行上述代码,如果出现异常 “IOException: Unable to read data from the transport connection: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”。首先,确认数据库是否允许远程连接;其次,防火墙是否打开;最后,连接字符串是否正确,是否支持SSL。 出现异常“The host localhost does not support SSL connections.”说明不支持SSL,需要在连接字符串里添加SslMode = "none"。 from:https://blog.csdn.net/liyazhen2011/article/details/82845279
View Details面试之家只是为了学习和交流使用Weex,题库等内容不可用于商业项目 在Weex开发中,使用自定义Module的方式,来扩展Weex的能力,官方教程在这里,这里我以自定义分享模块来举例 第一步 先创建一个继承与NSObject的基类UM_WeexModule,然后引入头文件#import <WeexSDK.h>,并继承WXModuleProtocol协议。 第二步 实现方法并暴露给JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
- (void)shareEvent:(NSDictionary *)parames callback:(WXModuleKeepAliveCallback)callback { if (![parames isKindOfClass:NSClassFromString(@"NSDictionary")]) { [SVProgressHUD showErrorWithStatus:@"非法传参"]; return; } [UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) { switch (platformType) { case UMSocialPlatformType_Sina: { if (![[UMSocialManager defaultManager]isInstall:UMSocialPlatformType_Sina]) { [SVProgressHUD showErrorWithStatus:@"未安装新浪客户端"]; return ; } } break; case UMSocialPlatformType_WechatSession: { if (![[UMSocialManager defaultManager]isInstall:UMSocialPlatformType_WechatSession]) { [SVProgressHUD showErrorWithStatus:@"未安装微信客户端"]; return ; } } break; case UMSocialPlatformType_WechatTimeLine: { if (![[UMSocialManager defaultManager]isInstall:UMSocialPlatformType_WechatTimeLine]) { [SVProgressHUD showErrorWithStatus:@"未安装微信客户端"]; return ; } } break; case UMSocialPlatformType_QQ: { if (![[UMSocialManager defaultManager]isInstall:UMSocialPlatformType_QQ]) { [SVProgressHUD showErrorWithStatus:@"未安装QQ客户端"]; return ; } } break; case UMSocialPlatformType_Qzone: { if (![[UMSocialManager defaultManager]isInstall:UMSocialPlatformType_Qzone]) { [SVProgressHUD showErrorWithStatus:@"未安装QQ客户端"]; return ; } } break; default: break; } NSString *type = parames[@"type"]; NSString *title = parames[@"title"]; NSString *des =parames[@"des"]; NSString *picUrl = parames[@"picUrl"]; NSString *linkUrl = parames[@"linkUrl"]; //创建分享消息对象 UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject]; if ([type isEqualToString:@"link"]) { //创建网页内容对象 UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:title descr:des thumImage:picUrl]; //设置网页地址 shareObject.webpageUrl = linkUrl; //分享消息对象设置分享内容对象 messageObject.shareObject = shareObject; } else if ([type isEqualToString:@"pic"]) { //创建图片内容对象 UMShareImageObject *shareObject = [[UMShareImageObject alloc] init]; [shareObject setShareImage:picUrl]; //分享消息对象设置分享内容对象 messageObject.shareObject = shareObject; } else if ([type isEqualToString:@"richText"]) { //设置文本 messageObject.text = title; //创建图片内容对象 UMShareImageObject *shareObject = [[UMShareImageObject alloc] init]; //如果有缩略图,则设置缩略图 shareObject.thumbImage = [UIImage imageNamed:@"icon"]; [shareObject setShareImage:picUrl]; //分享消息对象设置分享内容对象 messageObject.shareObject = shareObject; } [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:nil completion:^(id data, NSError *error) { if (error) { callback(error.userInfo[@"message"],false); }else{ [SVProgressHUD showSuccessWithStatus:@"分享成功"]; callback(@"1",false); } }]; }]; } - (void)setalias:(NSDictionary *)params { [UMessage addAlias:[NSString stringWithFormat:@"%@",params[@"userID"]] type:params[@"type"] response:^(id _Nonnull responseObject, NSError * _Nonnull error) { }]; } |
第三步 将方法抛出给JS
1 2 |
WX_EXPORT_METHOD(@selector(shareEvent: callback:)) WX_EXPORT_METHOD(@selector(setalias:)) |
第四步 初始化时注册到WeexSDK
1 |
[WXSDKEngine registerModule:@"UM_Event" withClass:NSClassFromString(@"UM_WeexModule")]; |
第五步 JS调用
1 2 3 4 5 6 7 8 |
var um_share = weex.requireModule('UM_Event'); um_share.shareEvent({ type:'pic', title:'title', picUrl:'https://mianshizhijia.oss-cn-hangzhou.aliyuncs.com/resourse_image/%E5%88%86%E4%BA%AB.jpg', }, callback => { }); |
结语 本篇文章旨在分享如何通过自定义Module来扩展Weex的能力,由于最近在忙于找工作,所以写的不是很深入,等过段时间稳定之后,会在继续分享Weex实现原理,以及从注册方法到可以被JS调用中间的实现过程。 作者:GL_fire 链接:https://www.jianshu.com/p/37b884515125 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
View Details上一篇文章我们配置了jdk version,这一节就来配置Android SDK环境搭建 Android SDK是Android平台上进行软件开发所需要的开发包,这里我们通过安装Android Studio的方式来安装Android SDK,Android Studio 是Android开发的IDE(集成开发环境),至少是2.0 或者更新版本 同样打开如下连接,此官方网站容易被墙 https://developer.android.com/studio/index.html 如果打不开换下面的路径,此为 android sdk 中文网站,下载 Android Studio http://www.androiddevtools.cn/ 然后运行你们下载的Android Studio进行安装,全选,然后下一步 到此处后,路径可以修改,我就都安装在D盘了,而且还是在同一个目录下,建议大家按照我的来安装, 注意安装目录不能有中文 第一个安装目录修改为 D:\Android\AndroidStudio 第二个安装目录修改为 D:\Android\sdk 我的安装位置 然后一直下一步,去掉勾选,点击finish 然后打开刚才修改的安装路径 D:\Android\sdk,运行 SDK Manager.exe 勾选下面几个(23.0.2一定要下),然后点击 install packages 安装成功后就开始安装环境变量,同样是在用户环境变量中新建一个(因为我已配置好) 变量名: ANDROID_HOME 变量值: D:\Android\sdk 然后在修改用户环境变量 path,是添加两个 变量名: path 变量值: %ANDROID_HOME%\platform-tools %ANDROID_HOME%\tools 如果环境变量是如下图的小伙伴,则在变量值最后面加上 ;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools 同样最后我们来检测是否安装和配置好,输入cmd打开命令行工具 输入 adb 如果出现的结果跟下面的图一样,那么恭喜你环境已经搭建好了 weex的环境变量就这样配置成功了,那么就开始入坑之旅吧! from:https://blog.csdn.net/k491022087/article/details/72934862
View Details