学习SQL Server 第一天对SQL Server的操作遇到的一些问题和对存储过程的创建和用ASP.net(C#)调用的学习体会!
SQLSERVER登录时未与信任 SQL Server 连接相关联错误的解决方法
原困是未设置SQL SERVER登录认证模式为混合认证模式,因为SQL SERVER默认安装后认证模式为WINDOWS认证模式,从而导致出错。
解决方法:
1,启动SQLSERVER企业管理器,选择要进行认证模式设置的服务器。右击该服务器,在弹出菜单 中选择属性,弹出属性对话框。
2,在属性对话框中选择安全性选项,在身份验证处选择“SQL Server和Windows”,然后确定。
SQL 字段类型: Nchar(统一编码型) 如:Sex Nchar 1 只能存一位 ,定长的,能存4000种字符,字节空间增加一倍
ntext(统一编码型) 能存近10亿个字符,字节空间增加一倍
Nvarchar(统一编码型) 变长的,能存4000种字符,字节空间增加一倍
smalldatetime(日期时间类型) 精确到1/300秒或3.33毫秒
datetime(日期时间类型) 精确到一分钟
设置自动增量字段:
在SQL库中将字段定义为标识,
在SQL库中将字段定义为标识,增量为1,就可以了。
创建简单的存储过程
无参:
CREATE PROCEDURE usp_UserInfo //usep_UserInfo 存储过程名
as
select * from UserInfo /查询语句 返回表中所有记录
GO
带输入参数:
CREATE PROCEDURE usp_UserInfo //usep_UserInfo 存储过程名
@ID int //@ID:输入参数 类型: 整型
as
select * from UserInfo where UserID=@ID //查询语句 返回表中 UserID字段.value=@ID.value
GO
带输出参数:
CREATE PROCEDURE usp_UserInfo //usep_UserInfo 存储过程名
@ID int output //@ID:输出参数 类型: 整型 output 标识是输出参数
as
select @ID=(select count( *) from UserInfo) //查询语句 返回表中有多少条记录赋值给@ID
GO
心得:
创建存储过程方面:
1,学会了最简单的格式,但是一些选择性参数不会,只掌握了最简单的带输入和输出格式的
2005.12.17日需明白那些选择性参数
2,参数方面,参数类型我选用了(整型)但这是灵活的地方,即类型是可变的如 改为 varchar等,但不明白"@"这个有什么用
2005.12.17日需明白"@"是什么
3,参数类型后 可声明 参数的是输入还是输出 如:(output 即为输出参数)这里也是应该是灵活的 应该还有其他关键字 如: OUT
2005.12.17日需了解其他的关键字
4.语句格式,以Select 语句为例 最关键的是 select @ID=(select count( *) from UserInfo) 不太明白第一个select什么 意思
2005.12.17日需更深入的理解语句格式
调用存储过程方面:
SqlConnection Conn;
SqlDataAdapter da;
DataSet ds;
String StrConn;
//数据库联接字符串
StrConn="server=localhost;uid=sa;pwd=yaoyuan;database=Testnet";
//实例化SqlConnection
Conn=new SqlConnection(StrConn);
//实例化SqlDataAdapter ,"usp_UserInfo":存储过程名
da=new SqlDataAdapter("usp_UserInfo",Conn);
//SelectCommand.CommandType //查询命令的类型=类型为StoredProcedure(存储过程)
da.SelectCommand.CommandType=CommandType.StoredProcedure;
//查询命令参数 实例化new SqlParameter("@ID",SqlDbType.Int) "@ID"为存储过程里参数的名字,和字段类型为整 //型 (用于带参数的存储过程,不适用于无参的存储过程)
da.SelectCommand.Parameters.Add(new SqlParameter("@ID",SqlDbType.Int));
//标识参数是输入,输出还是双向的(ParameterDirection.(Output):是输出的)在存储过程的参数为输出是用到
da.SelectCommand.Parameters["@ID"].Direction =ParameterDirection.Output;
//给存储过程的参数赋值,在存储过程的参数为输入是用到
da.SelectCommand.Parameters["@ID"].Value =1;
//实例化DataSet()
ds=new DataSet();
//填充SqlDataAdapter ,"UserInfo"是表名
da.Fill(ds,"UserInfo");
//数据邦定 SDG 是DATAGrid 的名字
this.SDG.DataSource=ds.Tables["UserInfo"];
this.SDG.DataBind();
//把存储过程的参数赋值给一个文本框在存储过程的参数为输出是用到
this.TextBox1.Text=da.SelectCommand.Parameters["@ID"].Value.ToString();
心得:
1,利用了qlDataAdapter的SelectCommand的方法来实现的对存储过程的调用,
2005.12.17日需了解其他的如InsertCommand等
2,还可用Command来实现对存储过程的利用
2005.12.17日需了解Command调用
3,本例中用的是Int类型参数
2005.12.17日需思考下其他类型参数的调用如:String
一个疑问:
this.SDG.DataSource=ds.Tables["UserInfo"].DefaultView
//这句中的DefaultView不理解,在存储过程参数是输入时没有问题,在存储过程参数是输出时出现"为将对象实例化 的问题"去掉DefaultView没有问题 !不明白(DefaultView)!
总结:
***要努力学会灵活的运用存储过程的参数的变化和SQL语句的变化,要会灵活运用ADO.net里的调用存储过程的方法!
- 学习记录 asp.net c#连接sql server 2012 调用存储过程 用返回的记录填充CheckBoxList 都是常用的,特此记录
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- Elastic学习第一天遇到的问题以及添加的一些操作
- Asp.net1.1升级到2.0遇到的一些问题总结
- 我遇到了第一个问题,关于学习asp.net的基础
- C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)的代码以及我所遇到的问题
- asp.net c#.net项目中使用总结,遇到的各个问题的汇总
- 最近我遇到的一些关于asp.net开发中的问题。。
- ASP.NET第一个项目,希望我遇到的一些问题对各位会有所帮助
- 抛开visual studio,纯手工创建asp.net mvc遇到的问题
- JAVA+AXIS客户端调用Asp.net Web Service过程中遇到的问题及解决方法
- 今天学习“Asp.net"页面加载中"效果实现”遇到的问题
- Asp.net网站部署时遇到的一些问题
- [ASP.net教程]vs2012创建mvc4项目部署iis所遇到的问题
- C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)的代码以及我所遇到的问题
- 个人做ASP.NET遇到的一些问题
- C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- 学习asp.net的一些心德体会
- sql 存储过程 几个 简单例子,及在asp.net(C#)中调用存储过程的代码