SqlCommand.Parameters.Add()用法
2014-05-27 20:08
375 查看
private bool AddInfo(string strName, string strImage)
{
sqlcon = new SqlConnection(strCon);
FileStream FStream = new FileStream(strImage, FileMode.Open, FileAccess.Read);
BinaryReader BReader = new BinaryReader(FStream);
byte[] byteImage = BReader.ReadBytes((int)FStream.Length);
SqlCommand sqlcmd = new SqlCommand("insert into tb_Image(name,photo) values(@name,@photo)",
sqlcon);
sqlcmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = strName;
sqlcmd.Parameters.Add("@photo", SqlDbType.Image).Value = byteImage;
sqlcon.Open();
sqlcmd.ExecuteNonQuery();
sqlcon.Close();
return true;
}
========================================
上段代码中蓝色部分中的@是什么意思?是如何使用的?还有SqlCommand.Parameters.Add()的用法
2010年6月4日 6:22
回复
|
引用
|
今夜有雨
0 分数
0
登录进行投票
@表示这是一个变量,在这里表示参数,将从SQL外部传入,这和下面的@name是对应的。
SqlCommand.Parameters.Add()用法可以参考http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection_methods(v=VS.100).aspx。
其实我个人还是比较倾向于SqlCommand.Parameters.Add(new SqlParameter("@param", value))的写法,简洁一些。
Tech Blog: http://gildor.cnblogs.com
已标记为答案 Mog
Liang 2010年6月11日
1:15
2010年6月6日 8:46
回复
|
引用
|
Gildor
Wang
720 分数
0
登录进行投票
@表示这是一个变量,在这里表示参数,将从SQL外部传入,这和下面的@name是对应的。
SqlCommand.Parameters.Add()用法可以参考http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection_methods(v=VS.100).aspx。
其实我个人还是比较倾向于SqlCommand.Parameters.Add(new SqlParameter("@param", value))的写法,简洁一些。
Tech Blog: http://gildor.cnblogs.com
呵呵 不过最好指定类型不然.NET自己还要分析下~~~
我比较喜欢用AddWithValue方法,哈哈 不过和你这样添加也都差不多
I see you~http://hi.baidu.com/1987raymondMy
Blog~~~
已标记为答案 今夜有雨 2010年6月11日
1:22
2010年6月8日 2:33
回复
|
引用
|
Raymond
Tang
(MVP)
17,510 分数
0
登录进行投票
你好!
上面的@只是 C#里面写sql的一种参数形式! 在java中, 是使用 “?” 作为占位符的 [insert into tbl values(?,?,?)] ,而在C#中就是: [insert into tbl values(@parm1,@parm2,@parm3)], 把他看作参数就是了吧!
既然是参数, 所以就需要给对应的参数赋值了!
sqlcmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = strName;
sqlcmd.Parameters.Add("@photo", SqlDbType.Image).Value = byteImage;
你这里就是对应个上面的@name,@photo参数在赋值! 这里是区分大小写的! ,SqlDbType.VarChar:指定参数类型,与你设计数据库的字段类型一样, 50:数据长度, 与你设计数据库设置的长度一样!
我一般的写法:
SqlParameter[] paras = {
new SqlParameter("@name", strName),
new SqlParameter("@photo", byteImage)
};
sqlcmd.Parameters.AddRange(paras);
这样我感觉代码比较简洁! 当然各有各的爱好风格.
希望对你有帮助!
Anything Is Possible !
已标记为答案 今夜有雨 2010年6月11日
1:28
2010年6月8日 6:31
回复
|
引用
|
Jiang
Hao
Nexocial
375 分数
0
登录进行投票
@表示这是一个变量,在这里表示参数,将从SQL外部传入,这和下面的@name是对应的。
SqlCommand.Parameters.Add()用法可以参考http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection_methods(v=VS.100).aspx。
其实我个人还是比较倾向于SqlCommand.Parameters.Add(new SqlParameter("@param", value))的写法,简洁一些。
Tech Blog: http://gildor.cnblogs.com
已标记为答案 Mog
Liang 2010年6月11日
1:15
2010年6月6日 8:46
回复
|
引用
|
Gildor
Wang
720 分数
0
登录进行投票
@表示这是一个变量,在这里表示参数,将从SQL外部传入,这和下面的@name是对应的。
SqlCommand.Parameters.Add()用法可以参考http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection_methods(v=VS.100).aspx。
其实我个人还是比较倾向于SqlCommand.Parameters.Add(new SqlParameter("@param", value))的写法,简洁一些。
Tech Blog: http://gildor.cnblogs.com
呵呵 不过最好指定类型不然.NET自己还要分析下~~~
我比较喜欢用AddWithValue方法,哈哈 不过和你这样添加也都差不多
I see you~http://hi.baidu.com/1987raymondMy
Blog~~~
已标记为答案 今夜有雨 2010年6月11日
1:22
2010年6月8日 2:33
回复
|
引用
|
Raymond
Tang
(MVP)
17,510 分数
0
登录进行投票
你好!
上面的@只是 C#里面写sql的一种参数形式! 在java中, 是使用 “?” 作为占位符的 [insert into tbl values(?,?,?)] ,而在C#中就是: [insert into tbl values(@parm1,@parm2,@parm3)], 把他看作参数就是了吧!
既然是参数, 所以就需要给对应的参数赋值了!
sqlcmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = strName;
sqlcmd.Parameters.Add("@photo", SqlDbType.Image).Value = byteImage;
你这里就是对应个上面的@name,@photo参数在赋值! 这里是区分大小写的! ,SqlDbType.VarChar:指定参数类型,与你设计数据库的字段类型一样, 50:数据长度, 与你设计数据库设置的长度一样!
我一般的写法:
SqlParameter[] paras = {
new SqlParameter("@name", strName),
new SqlParameter("@photo", byteImage)
};
sqlcmd.Parameters.AddRange(paras);
这样我感觉代码比较简洁! 当然各有各的爱好风格.
希望对你有帮助!
Anything Is Possible !
已标记为答案 今夜有雨 2010年6月11日
1:28
2010年6月8日 6:31
回复
|
引用
|
Jiang
Hao
Nexocial
375 分数
0
登录进行投票
没特殊直接用Parameters.AddWithValue就是了!
2010年6月9日 6:21
回复
|
引用
|
shizhusz110
15 分数
0
登录进行投票
@name 是sql中的参数名称或者是存储过程的参数名称。
2010年6月9日 6:23
{
sqlcon = new SqlConnection(strCon);
FileStream FStream = new FileStream(strImage, FileMode.Open, FileAccess.Read);
BinaryReader BReader = new BinaryReader(FStream);
byte[] byteImage = BReader.ReadBytes((int)FStream.Length);
SqlCommand sqlcmd = new SqlCommand("insert into tb_Image(name,photo) values(@name,@photo)",
sqlcon);
sqlcmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = strName;
sqlcmd.Parameters.Add("@photo", SqlDbType.Image).Value = byteImage;
sqlcon.Open();
sqlcmd.ExecuteNonQuery();
sqlcon.Close();
return true;
}
========================================
上段代码中蓝色部分中的@是什么意思?是如何使用的?还有SqlCommand.Parameters.Add()的用法
2010年6月4日 6:22
回复
|
引用
|
今夜有雨
0 分数
答案
0
登录进行投票
@表示这是一个变量,在这里表示参数,将从SQL外部传入,这和下面的@name是对应的。
SqlCommand.Parameters.Add()用法可以参考http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection_methods(v=VS.100).aspx。
其实我个人还是比较倾向于SqlCommand.Parameters.Add(new SqlParameter("@param", value))的写法,简洁一些。
Tech Blog: http://gildor.cnblogs.com
已标记为答案 Mog
Liang 2010年6月11日
1:15
2010年6月6日 8:46
回复
|
引用
|
Gildor
Wang
720 分数
0
登录进行投票
@表示这是一个变量,在这里表示参数,将从SQL外部传入,这和下面的@name是对应的。
SqlCommand.Parameters.Add()用法可以参考http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection_methods(v=VS.100).aspx。
其实我个人还是比较倾向于SqlCommand.Parameters.Add(new SqlParameter("@param", value))的写法,简洁一些。
Tech Blog: http://gildor.cnblogs.com
呵呵 不过最好指定类型不然.NET自己还要分析下~~~
我比较喜欢用AddWithValue方法,哈哈 不过和你这样添加也都差不多
I see you~http://hi.baidu.com/1987raymondMy
Blog~~~
已标记为答案 今夜有雨 2010年6月11日
1:22
2010年6月8日 2:33
回复
|
引用
|
Raymond
Tang
(MVP)
17,510 分数
0
登录进行投票
你好!
上面的@只是 C#里面写sql的一种参数形式! 在java中, 是使用 “?” 作为占位符的 [insert into tbl values(?,?,?)] ,而在C#中就是: [insert into tbl values(@parm1,@parm2,@parm3)], 把他看作参数就是了吧!
既然是参数, 所以就需要给对应的参数赋值了!
sqlcmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = strName;
sqlcmd.Parameters.Add("@photo", SqlDbType.Image).Value = byteImage;
你这里就是对应个上面的@name,@photo参数在赋值! 这里是区分大小写的! ,SqlDbType.VarChar:指定参数类型,与你设计数据库的字段类型一样, 50:数据长度, 与你设计数据库设置的长度一样!
我一般的写法:
SqlParameter[] paras = {
new SqlParameter("@name", strName),
new SqlParameter("@photo", byteImage)
};
sqlcmd.Parameters.AddRange(paras);
这样我感觉代码比较简洁! 当然各有各的爱好风格.
希望对你有帮助!
Anything Is Possible !
已标记为答案 今夜有雨 2010年6月11日
1:28
2010年6月8日 6:31
回复
|
引用
|
Jiang
Hao
Nexocial
375 分数
全部回复
0
登录进行投票
@表示这是一个变量,在这里表示参数,将从SQL外部传入,这和下面的@name是对应的。
SqlCommand.Parameters.Add()用法可以参考http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection_methods(v=VS.100).aspx。
其实我个人还是比较倾向于SqlCommand.Parameters.Add(new SqlParameter("@param", value))的写法,简洁一些。
Tech Blog: http://gildor.cnblogs.com
已标记为答案 Mog
Liang 2010年6月11日
1:15
2010年6月6日 8:46
回复
|
引用
|
Gildor
Wang
720 分数
0
登录进行投票
@表示这是一个变量,在这里表示参数,将从SQL外部传入,这和下面的@name是对应的。
SqlCommand.Parameters.Add()用法可以参考http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection_methods(v=VS.100).aspx。
其实我个人还是比较倾向于SqlCommand.Parameters.Add(new SqlParameter("@param", value))的写法,简洁一些。
Tech Blog: http://gildor.cnblogs.com
呵呵 不过最好指定类型不然.NET自己还要分析下~~~
我比较喜欢用AddWithValue方法,哈哈 不过和你这样添加也都差不多
I see you~http://hi.baidu.com/1987raymondMy
Blog~~~
已标记为答案 今夜有雨 2010年6月11日
1:22
2010年6月8日 2:33
回复
|
引用
|
Raymond
Tang
(MVP)
17,510 分数
0
登录进行投票
你好!
上面的@只是 C#里面写sql的一种参数形式! 在java中, 是使用 “?” 作为占位符的 [insert into tbl values(?,?,?)] ,而在C#中就是: [insert into tbl values(@parm1,@parm2,@parm3)], 把他看作参数就是了吧!
既然是参数, 所以就需要给对应的参数赋值了!
sqlcmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = strName;
sqlcmd.Parameters.Add("@photo", SqlDbType.Image).Value = byteImage;
你这里就是对应个上面的@name,@photo参数在赋值! 这里是区分大小写的! ,SqlDbType.VarChar:指定参数类型,与你设计数据库的字段类型一样, 50:数据长度, 与你设计数据库设置的长度一样!
我一般的写法:
SqlParameter[] paras = {
new SqlParameter("@name", strName),
new SqlParameter("@photo", byteImage)
};
sqlcmd.Parameters.AddRange(paras);
这样我感觉代码比较简洁! 当然各有各的爱好风格.
希望对你有帮助!
Anything Is Possible !
已标记为答案 今夜有雨 2010年6月11日
1:28
2010年6月8日 6:31
回复
|
引用
|
Jiang
Hao
Nexocial
375 分数
0
登录进行投票
没特殊直接用Parameters.AddWithValue就是了!
2010年6月9日 6:21
回复
|
引用
|
shizhusz110
15 分数
0
登录进行投票
@name 是sql中的参数名称或者是存储过程的参数名称。
2010年6月9日 6:23
相关文章推荐
- SqlCommand.Parameters.add()
- Parameters.AddWithValue 方法在SQL语句 Where 字句中的用法
- asp.net Parameters.AddWithValue方法在SQL语句的 Where 字句中的用法
- Parameters.AddWithValue方法在SQL语句的 Where 字句中的用法
- asp.net Parameters.AddWithValue方法在SQL语句的 Where 字句中的用法
- SqlCommand.Parameters.add()方法
- OleDbCommand cmd.Parameters.AddWithValue 添加参数时需要按照存储过程参数的顺序加入
- OleDbCommand cmd.Parameters.AddWithValue 添加参数时需要按照存储过程参数的顺序加入
- C# SqlCommandBuilder的用法
- C#中SQL Command的基本用法
- cmd.Parameters.Add()的用法
- SqlCommandBuilder.DeriveParameters设置储存过程参数
- SqlDataSource_Inserted SqlDataSource2.SelectParameters[0].DefaultValue = e.Command.Parameters[2].Value.ToString();
- SqlCommand.DeriveParameters failed
- SqlCommand.Parameters的使用
- SqlCommandBuilder用法(搜集)
- 一份礼物: 自动填充SqlCommand.Parameters的类(1)
- SqlCommand.Parameters 属性
- 一份礼物: 自动填充SqlCommand.Parameters的类(2)
- SqlCommandBuilder 删除与更新的用法,附代码