请朋友们讨论一下c# forms里的@主要有什么作用!!!

zk911 2005-11-17 06:40:48
对不起 我没有分了 以后补上 呵呵
...全文
158 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxuu503 2005-11-17
  • 打赏
  • 举报
回复
select * from a where b=? and c=?

parament用数组

第一项,参数还用@b

当时我就很不明白,没有定义@b怎么还可以用!hehe!

不过看到程序运行了,才晓得自己真的很弱!
sacranto 2005-11-17
  • 打赏
  • 举报
回复
楼上的能不能详细说明一下?的用法
谢先
xxuu503 2005-11-17
  • 打赏
  • 举报
回复
回复人: zk911(与影同舞) ( ) 信誉:99 2005-11-17 20:34:00 得分: 0


在网上看过这样一个程序:

strCom = "UPDATE employeeDictionary SET empd_password = @pass WHERE emp_id = @id";
comm = myConn.CreateCommand();
comm.CommandText = strCom;
comm.Parameters.Add("@pass",System.Data.SqlDbType.VarChar);
comm.Parameters["@pass"].Value = this.txt_xmm.Text;
comm.Parameters.Add("@id",System.Data.SqlDbType.Char);
comm.Parameters["@id"].Value = c.emplid;

像这个代码段里用到了很多@
例如@pass 和 @id 在整个程序里看不到哪里给他们付过值
请问这里的@pass 和 @id 分别存放的是什么 他们里面的值是如何传递的呢

请好心的朋友们说明一下
不胜感激!!!
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!




这个给你说一下!

在Sql文中。@xx为变量,还有一些@@xxxx是系统变量,记得还有临时变量!

ft,记不得了,知道多少说多少!

comm.Parameters.Add("@pass",System.Data.SqlDbType.VarChar);

这一句就相当于在为你的sql文创建一个sql变量,变量名字叫做@pass

comm.Parameters["@pass"].Value = this.txt_xmm.Text;

这一句为你的@pass变量赋值!
xxuu503 2005-11-17
  • 打赏
  • 举报
回复
回复人: zk911(与影同舞) ( ) 信誉:99 2005-11-17 19:08:00 得分: 0


@后面除了接字符串外 可以接数据库里的字段嘛
comm.Parameters["@id"].Value = XXXXX;
请问这里的"@id"是字段 还是一个字符串?



id是字段,@id有可能是sql文中设定的变量!

你可以去看一下sql的书!


上班了之后才发现sql文还有这种写法:

select * from a where b=? and c =?

parament只要对齐就可以了!
疯狂Rabbit 2005-11-17
  • 打赏
  • 举报
回复
其实 fangxinggood(JustACoder)已经解释了
zk911 2005-11-17
  • 打赏
  • 举报
回复
在网上看过这样一个程序:

strCom = "UPDATE employeeDictionary SET empd_password = @pass WHERE emp_id = @id";
comm = myConn.CreateCommand();
comm.CommandText = strCom;
comm.Parameters.Add("@pass",System.Data.SqlDbType.VarChar);
comm.Parameters["@pass"].Value = this.txt_xmm.Text;
comm.Parameters.Add("@id",System.Data.SqlDbType.Char);
comm.Parameters["@id"].Value = c.emplid;

像这个代码段里用到了很多@
例如@pass 和 @id 在整个程序里看不到哪里给他们付过值
请问这里的@pass 和 @id 分别存放的是什么 他们里面的值是如何传递的呢

请好心的朋友们说明一下
不胜感激!!!
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

zk911 2005-11-17
  • 打赏
  • 举报
回复
谢谢 路过的朋友们的指点

书上说@"XXXXXXXXXXXX"后面的字符串不发生字符转义
说的有点太笼统了

继续关注更多更详细的讲解 学习一下!!!!!



Comer 2005-11-17
  • 打赏
  • 举报
回复
真长知识啊
renyu732 2005-11-17
  • 打赏
  • 举报
回复
字面字符串(verbatim string):@
比较典型的用于文件或目录的路径以及正则表达式.
加了@后,就会告诉编译器将引号之间的字符都认为是字符串的一部分.

string file=@"C\Windows\notepad.exe";
yurow 2005-11-17
  • 打赏
  • 举报
回复
关注
luoboqingcai 2005-11-17
  • 打赏
  • 举报
回复
还可以用来声明系统关键字。
机器人 2005-11-17
  • 打赏
  • 举报
回复
特殊标记。@后面的符号,将会被Parameter相应的值替换掉,执行。
在SqlProvider里, 使用@标明参数, 在OracleProvider里,使用:标明参数.
zk911 2005-11-17
  • 打赏
  • 举报
回复
string path = "c://test.doc";
string conn = "";//连接字符串
FileStream file = new FileStream(path);
byte[] buffer = new byte[1024*1024];
int i1=0,i2=buffer.Length;
while (i2 > 0)
{
int m = file.Read(buffer,0,buffer.Length);
if (m <= 0) break;
i1+=m;
i2-=m;
}
byte[] temp = new byte[i1];
Array.Copy(buffer,temp,i1);
buffer = temp;
SqlCommand cmd = new SqlCommand("insert into table1 value @doc" );
((SqlParameter)cmd.Parameters.Add("@doc",buffer)).DbType = DbType.Binary;
cmd.Connection = new SqlConnection(conn).Open();
int result = cmd.ExecuteNonQuery();
cmd.Connection.Close();
像这样的程序里 里面的@是干什么的?
如果去掉@那么又会有什么影响呢?
请朋友们指点一下
小弟在此谢过了!!!!

zk911 2005-11-17
  • 打赏
  • 举报
回复
@后面除了接字符串外 可以接数据库里的字段嘛
comm.Parameters["@id"].Value = XXXXX;
请问这里的"@id"是字段 还是一个字符串?
sunbill 2005-11-17
  • 打赏
  • 举报
回复
定义字符串的时候可以省略转意字符
@"c:\windows" = "c:\\windows"
......就知道这一个用处.

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧