C#常见问题总结(三)
11、sql比access好在哪里,为什么都用sql
解决方法:
数据量大,可以在服务器端,access一般在单机的时候用
12、c#基础视频教程有吗
解决方法:
零基础学C#这本书带全套C#基础视频,地址:
https://item.m.jd.com/product/12271986.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends
13、我的复选列表框 找不到 SelectedIndexChanged事件 ??
解决方法:
在事件列表里双击触发
14、用户控件和窗体的区别是什么啊
解决方法:
用户控件就是用户自己通过继承Control自定义的控件,本质上跟控件一样
15、怎么接受数据的时候吧时间转换成字符串
解决方法:
使用ToString()方法,如果转换日期,使用Convert.ToDateTime
16、面试的时候,如果别人要看作品,怎么展示给别人看?是带个u盘,还是打印纸质的说明书?或者有什么更好的方案吗?
解决方法:
拿笔记本,直接看作品
17、虚方法 重写 和 new 对普通方法的重写,有什么区别?
解决方法:
重写虚方法,子类里面只有一个方法,用new,子类里面有两个同名方法,相当于重载方法
18、请问如何将子窗体固定在父窗体右下角?
解决方法:
把窗体的FormBorderStyle属性设置为None,就不能拖动了,从窗体右下角显示可以参考《C#开发实战1200例(第I卷)》这本书中第9章的206例子
19、asp.net网页,地址栏不会编码
解决方法:
//加密要传递的参数 string Id = Convert.ToBase64String(System.Text.Encoding.Default.GetBytes("你好")).Replace("+", "%2B"); Response.Redirect("WebForm2.aspx?id=" + Id); //解密 string Id = System.Text.Encoding.Default.GetString(Convert.FromBase64String(Request.QueryString["id"].ToString().Replace("%2B", "+")));
20、利用timer组件自动刷新窗体
解决方法
设置一个时间间隔,然后在Tick事件里面执行指定的方法。
21、怎么实现像messagebox那样的阻塞窗体?
解决方法
ShowDialog方法
22、这个 summary 这里起到什么作用啊?
解决方法
<summary> 标记是一种注释,用于描述类型或类型成员,这种注释主要有两种作用:
1、这些注释能够生成一个XML文件,这样呢看起来会对程序的内容一目了然。
2、以这种方式对你的类,属性,方法等等加上注释之后,当你在其他地方使用以这种方式加上的类,属性,方法等等时,黄色的提示框里面会把你写的注释显示出来,使你更加明白要使用的对象的作用。
23、vs2017里的c#项目怎么打包 打包怎么指定安装之后桌面应用的图标
解决方法
参考这篇文章https://www.cnblogs.com/yinsq/p/5254893.html
24、int money = Convert.ToInt32(Console.ReadLine()); 和 int money = int.parse (Console.ReadLine()); 有什么区别呢
解决方法
这两个都是转换为int类型,但如果参数不是数字类型的话,Convert.ToInt32会返回0,不产生任何异常,int.Parse会产生异常。
25、SQL Server中的Windows身份验证和混合身份验证有什么区别
解决方法
Windows身份验证相对于混合模式更加安全,使用本连接模式时候,sql不判断sa密码,而仅根据用户的Windows权限来进行身份验证,称为“信任连接”,但是在远程连接的时候,会因NTML验证的缘故,无法登陆。
混合模式验证是:当本地用户访问sql时,采用windows身份验证建立信任连接;当远程用户访问时,由于未通过windows认证,而进行sql server认证(使用sa的用户也可以登录sql),建立“非信任连接”,从而使得远程用户也可以登录。
26、SQL中如何批量生成随机字符串
解决方法
/*----------------------------------批量生成随机的字符串----------------------------------*/
--如果在已知数据库中存在GetRandStr这个存储过程,则删除(为了方便反复执行这段代码)
if exists(select * from sys.objects where name='GetRandStr' and type='P')
drop proc GetRandStr
go
--随机字符串存储过程
create proc GetRandStr
-- @count是随机字符串个数,@no则是最终生成的随机字符串
(@count int,@no varchar(1000) output)
as
begin
--@randomstr是每次随机的字符累加的值
declare @randomstr varchar(1000)
--@charpool是产生随机字符的字符序列
declare @charpool varchar(1000)
-- @i是循环次数
declare @i int
--@counter 是产生随机字符的位置
declare @counter integer
--设置随机序列
set @charpool='12345678910AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz'
--循环初始值
set @i=1
-- 随机字符串初始值
set @randomstr=''
--循环
while @i<@count
begin
here:
--产生随机字符位置 (0-62的整数)
set @counter=CAST(RAND()*100/1.6 as integer)
-- 如果@counter = 0 就重新生成随机数
if @counter<1 goto here
set @randomstr=@randomstr+SUBSTRING(@charpool,@counter,1)
--循环递增
set @i=@i+1
end
--最后将生成的六个随机字符加上两个固定字符'KY',组成所需的随机字符串
set @no='QQ'+LEFT(@randomstr,ISNULL(@count,180))
return
end
go
--调用:比如要生成10个随机字符串
declare @p int
set @p=1
while @p<=10
begin
declare @substring varchar(8000)
-- 调用存储过程
exec GetRandStr 8,@substring output
-- 输出随机字符串
print @substring
set @p=@p+1
end
27、C#如何连接oracle数据库
解决方法
string OrlCon = "User ID=IFSAPP;Password=IFSAPP;Data Source=RACE;";
OracleConnection ocon = new OracleConnection(OrlCon);
ocon.Open();