.NET新手系列(二)

摘要:
1遇到的问题:关于Cmd.ExecuteScalar()解决方法:这是一条返回单一值而不是数据行的命令,多数用于使用了count、max、min等运算的select语句中。右键单击“默认WEB站点”属性,然后在“主目录”中修改即可。5遇到的问题:net中连接sqlserver:出现错误:*Errorwhileaccessingdata,用户...ASPNET登录失败。如果连接字中包含有:Trusted_Connection=yes;这就意味着连接将采用信任连接方式,但由于连接前没有用Windows组帐号登录至SQLServer2000服务器,也就是说没有建立一个信任连接,当然,SQLServer2000连接也不能够成功。

接上次,继续我的菜鸟之旅,还请大家多少提点学习意见,呵呵。

1遇到的问题:
关于Cmd.ExecuteScalar()
解决方法:
这是一条返回单一值而不是数据行的命令,多数用于使用了countmaxmin等运算的select语句中。
示例:
SqlCommandCmd = new SqlCommand(“SELECT count(*) FROM tablename;”);
int icount = (int) Cmd.ExecuteScalar();
另:该方法返回的是object类型,最好作转换

2遇到的问题:
关于commandtype解决方法:
CommndaType SQL命令的类型
Text:就是最常用的SQL命令;
StoredProcedure:即存储过程;
TableDirect:指示SqlCommandCommandText的值为表名,打开此表并返回所有行和列
示例:
SqlCommand cmd=new SqlCommand("Users",sqlConn);
cmd.CommandType=CommandType.TableDirect

3遇到的问题:
如何修改asp.netweb应用程序的默认保存路径?
解决方法:
可以在internet信息服务管理器中。右键单击“默认WEB站点”属性,然后在“主目录”中修改即可。

4遇到的问题:
关于sqlserver数据库中的布尔型
解决方法:
sqlserver中布尔型可用:bit,值只取01,但它接受01之外的数据,但都作为1存储,且不允许空值。

5遇到的问题:
net中连接sqlserver:出现错误:* Error while accessing data,用户 ...ASPNET 登录失败。
解决方法:
Windows验证连接时,不必指定一个用户ID及口令,连接验证使用Windows NT2000的组帐号(group account)。SQL Server从信任连接属性中获取用户的帐号信息,将其与Windows已定义的帐号信息匹配和分析,如果正确就连接成功,并将此Windows帐号作为连接至SQL Server 2000的用户ID
如果连接字中包含有:Trusted_Connection=yes;
这就意味着连接将采用信任连接方式,但由于连接前没有用Windows组帐号(ASP环境中是访问IIS服务帐号IUSR_计算机名,在ASP.NET环境中帐号是ASPNET)登录至SQL Server 2000服务器, 也就是说没有建立一个信任连接(Trusted connection),当然,SQL Server 2000连接也不能够成功。
Trusted_Connection=yes;删除或改为Trusted_Connection=no;
这将不采用信任连接方式(也即不采用Windows验证方式),而改由SQL Server 2000验证方式,即在连接字中指定:User ID=user name;Password=user password;
SQL Server 2000会将此用户ID和口令进行验证连接,而与Windows帐号无关。

另:
在提示aspnet用户登录失败时,也可以近按以下设置设置ASPNET账号:
sql企业管理器-〉服务器-〉安全性-〉登录-〉按下鼠标右键-〉新建登录-〉在名称中写入:ComputerName\ASPNET-〉数据库访问标签-〉在需要的数据库名字前面打勾-〉数据库角色中-〉选择db_owner-〉确定

6遇到的问题:
关于sql连接语句中的Integrated Security=SSPI
解决方法:
即:Security Support Provider Interface
设置Integrated Security True 的时候,连接语句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式。
只有设置为 False 或省略该项的时候,才按照 UserID, PW 来连接。
Integrated Security 可以设置为: True, false, yes, no ,这四个的意思很明白了,还可以设置为:sspi ,相当于 True,建议用这个代替 True。

7遇到的问题:
Sqlserver中使用递增列
解决方法:
欲使用递增列,可以在建表后在企业管理器中右击表,选择设计表,点相应字段,在下方选用标识

8遇到的问题:
在后台代码中为某些控件的width属性赋值
解决方法:
设置width时,由于某些属性默认采用的单位是webcontrols.unit,而不是int,
可用Pixel方法:
imgtemp.Width = Unit.Pixel(100)

9遇到的问题:
图片存入数据库的简单代码
解决方法:
1)上载时选择本地文件的实现可能用现成的控件,即:
<inputid="upfile"type="file"runat="server">

2)上载的提交按钮的事件如下:
Dim Conn AsNew SqlClient.SqlConnection
Try
'sql连接语句
Dim strConn AsString = ……
Conn.ConnectionString = strConn
Dim Cmd AsNew SqlClient.SqlCommand
Cmd.Connection = Conn
Dim intImageSize AsInteger = upfile.PostedFile.ContentLength
Dim strImageType AsString = upfile.PostedFile.ContentType
'将图片读入byte数组
Dim imageStream As System.IO.Stream = upfile.PostedFile.InputStream
Dim byteArray(intImageSize) AsByte
imageStream.Read(byteArray, 0, intImageSize)
'定义sql命令
Dim strSql AsString = "insert into myimage(photo) values (@photo)"
'sql命令添加参数
Cmd.CommandText = strSql
Cmd.Parameters.Add("@photo", SqlDbType.Binary, intImageSize).Value = byteArray
Conn.Open()
Cmd.ExecuteNonQuery()
Me.Label1.Text = "操作成功"
Catch ex As Exception
Me.Label1.Text = ex.Message
EndTry
Conn.Close()
(希望大家提供意见)

0遇到的问题:
关于使用存储过程
解决方法:
可在查询分析器中运行下列语句,创建存储过程:
create proc sp_getname
(@id char)
as
select name from proctest where id=@id

======================================================================

asp.net页面中编写:
Dim strConn AsString = ……
Dim Conn AsNew SqlClient.SqlConnection
Conn.ConnectionString = strConn
Dim Cmd AsNew SqlClient.SqlCommand("sp_getname", Conn)
Cmd.CommandType = CommandType.StoredProcedure
Dim DR As SqlClient.SqlDataReader
Dim para AsNew SqlClient.SqlParameter("@id", "2")
Cmd.Parameters.Add(para)
Conn.Open()
DR = Cmd.ExecuteReader
If DR.Read Then
Response.Write(DR(0))
EndIf

免责声明:文章转载自《.NET新手系列(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Opencv之斑点(Blob)检测SimpleBlobDetector_create使用JQuery实现手风琴布局下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

VTK 空间几何变换(Transform),平移、旋转和缩放

空间变换的基础知识变换矩阵我们都知道,在屏幕上显示的是二维的图形,三维图形都是投影到二维平面的,但它们定义在三维空间的。VTK有关空间变换的类和方法VTK相关的类有:vtkTransform,vtkTransformFilter,vtkMatrix4x4等相关的方法有:RotateX、RotateY、RotateZRotateWXYZScaleTransla...

凤凰系统(Phoenix OS)PC版安装,电脑上体验功能丰富的安卓系统

Tid=9074&fid=12安装前准备下载最新的PhoenixOSIO安装映像,并将其刻录到USB闪存驱动器;如果使用Windows操作系统,建议使用UltraISO刻录。下载地址:http://www.phoenixos.com/download_x86开始安装。1.重新启动机器,从启动选项中选择USB闪存磁盘启动,然后选择“Installati...

winform中 跨线程启动UI

C#的winform程序中,是不可以从UI窗口主线程之外的线程去直接操作窗口控件的。确切的解释是,不能从创建控件的线程以外的线程去处理控件的操作,比如修改属性等。方法二,通过Control.Invoke调用委托的方式来执行。...

微信小游戏流量主广告接入指南!

游戏通过审核发布上线,累计注册用户达到1000后,可以在管理后台开启流量主功能。广告接入广告类型有三种:激励式视频、插屏和BannerBanner广告接入需要注意:1.广告要显示全,不能放在屏幕外。我的游戏被以上原因拒绝了两次。我的banner广告是放在底部正中间,取最小宽度200。也就是尽量的小,不影响游戏操作。激励视频按钮一定要有视频广告相关的提示!...

每个文件之间延迟启动批处理bat方法之一

延迟在文件之间启动批处理的方法之一:。文本→. bat将扩展名更改为.bat或在txt中将其另存为.bat。例如,如果B是包含空格的路径名,请使用引号“”,否则将找不到文件。批处理bat要运行的文件位于同一目录文件夹@echoffstart xiongmaoshu.jpgping127.0.0.1-n 10&gt;批处理bat和文件是否位于同一目录文...