SQL 语句如何书写看起来比较清晰、明了? 大家平时都用哪种方法写SQL的长语句呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Rs.addnew Rs("Infomation_Title") = Title Rs("Infomation_TitleAddTime") = TitleAddTime Rs("Infomation_TitleAuthor") = TitleAuthor Rs("Infomation_TitleSource") = TitleSource Rs.update asp中这个不是在写sql语句.如果你想这样的话..可以看一下sqldataadapter.update(datatable dt);或是你可以自己写一个sqlbuilder的类.来构造语句..呵呵. 下面是个oracle的例子OracleConnection conn = new OracleConnection(connectionString); OracleCommand cmd = new OracleCommand("INSERT INTO UsersInRoles " + " (Username, Rolename, ApplicationName) " + " Values(:Username, :Rolename, :ApplicationName)", conn); OracleParameter userParm = cmd.Parameters.Add("Username", OracleType.VarChar, 255); OracleParameter roleParm = cmd.Parameters.Add("Rolename", OracleType.VarChar, 255); cmd.Parameters.Add("ApplicationName", OracleType.VarChar, 255).Value = ApplicationName;你把oracle改成sql的,冒号改成@就可以了。 不好意思,这个确实不是SQL语句,是我描述错了我想描述的是在添加记录的过程中,比如说有15个字段要添加,如果写一行SQL语句就会很长,而且很难读懂,有没有像ASP中的这种类似的方法。可以清楚明了一点。一楼的朋友回答的是:用parameters。 可惜没有参考的代码五楼的朋友有参考代码,但是SQL语句还是会很长,不好读懂。 //如果用SqlParameterSqlParameter[] parameters = { new SqlParameter("@sortid", SqlDbType.Int,4), new SqlParameter("@brandid", SqlDbType.Int,4), new SqlParameter("@sub", SqlDbType.VarChar,200), new SqlParameter("@contect", SqlDbType.Text), new SqlParameter("@subname", SqlDbType.VarChar,50), new SqlParameter("@subtime", SqlDbType.DateTime), new SqlParameter("@Isback", SqlDbType.Int,4),};parameters[0].Value = _sortid;parameters[1].Value = _brandid;parameters[2].Value = _sub;parameters[3].Value = _contect;parameters[4].Value = _subname;parameters[5].Value = _subtime;parameters[6].Value = _isback; 去找一下 SqlHelper 这个类要 Data Access Application Block 中的不要petshop中的 A. 拼接 SQL 语句0.// pass // String.Format 我的最爱 ^_^1. string sql = String.Format("INSERT INTO MyTable(Field1, Field2, Field3) VALUES({0}, '{1}', {2})", value1.ToString(), value2, value3.ToString());// 使用 @ 折行2. string sql = String.Format(@" INSERT INTO MyTable(Field1, Field2, Field3) VALUES({0}, '{1}', '{2}')", value1, value2, value3);// StringBuilder 效率为先using System.Text;3. StringBuilder sqlBuidler = new StringBuidler();sqlBuilder.Append("INSERT INTO MyTable(Field1, Field2, Field3) ");sqlBuilder.Append("VALUES({0}, '{1}', {2})", value1.ToString(), value2, value3.ToString()); B. 过程参数// SQLServer1.string sql = @" INSERT INTO MyTable(Field1, Field2, Field3) VALUES(@Field1, @Field2, @Field3)";// ...mySqlCommand.Paramters.AddWithValue("@Field1", value1);mySqlCommand.Paramters.AddWithValue("@Field2", value2);mySqlCommand.Paramters.AddWithValue("@Field3", value3); 用存储过程,传Parameter,又安全又易读 如果要易懂,则不直接用Sql语句最易懂....如果用Sql语句又要清晰容易,最简单的是写得跟 SqlServer2005的查询设计器生成的Sql语句那样的格式.如:INSERT INTO Mac_Employee(A, B, ......Z) VALUES(@Field1, @Field2, @Field3.....); 另外你的ASP写法里面压根就不是在写Sql语句..... Jmail收邮件,邮件内容部分乱码 .net4.0 如何获取登录控件的输入的用户名和密码 常规网络错误。请检查您的网络文档? 学做软件,大家帮忙测试呀,来者有分! HttpContext问题 深圳朋友过来了,因为个人要搬家,图书大甩卖!!!很多技术类好书!先到先得! 高分求助禁止右键的代码+左键菜单的代码(急) 未将对象引用设置到对象的实例 为什么放到服务器上就出这个问题 DATAGRID传值问题 这个查询问题怎么解决啊? bill都头痛的问题 gridview折行问题
Rs("Infomation_Title") = Title
Rs("Infomation_TitleAddTime") = TitleAddTime
Rs("Infomation_TitleAuthor") = TitleAuthor
Rs("Infomation_TitleSource") = TitleSource
Rs.update asp中这个不是在写sql语句.如果你想这样的话..可以看一下sqldataadapter.update(datatable dt);或是你可以自己写一个sqlbuilder的类.来构造语句..
呵呵.
OracleConnection conn = new OracleConnection(connectionString);
OracleCommand cmd = new OracleCommand("INSERT INTO UsersInRoles " +
" (Username, Rolename, ApplicationName) " +
" Values(:Username, :Rolename, :ApplicationName)", conn); OracleParameter userParm = cmd.Parameters.Add("Username", OracleType.VarChar, 255);
OracleParameter roleParm = cmd.Parameters.Add("Rolename", OracleType.VarChar, 255);
cmd.Parameters.Add("ApplicationName", OracleType.VarChar, 255).Value = ApplicationName;你把oracle改成sql的,冒号改成@就可以了。
不好意思,这个确实不是SQL语句,是我描述错了我想描述的是在添加记录的过程中,比如说有15个字段要添加,如果写一行SQL语句就会很长,而且很难读懂,有没有像ASP中的这种类似的方法。可以清楚明了一点。一楼的朋友回答的是:用parameters。 可惜没有参考的代码五楼的朋友有参考代码,但是SQL语句还是会很长,不好读懂。
//如果用SqlParameter
SqlParameter[] parameters = {
new SqlParameter("@sortid", SqlDbType.Int,4),
new SqlParameter("@brandid", SqlDbType.Int,4),
new SqlParameter("@sub", SqlDbType.VarChar,200),
new SqlParameter("@contect", SqlDbType.Text),
new SqlParameter("@subname", SqlDbType.VarChar,50),
new SqlParameter("@subtime", SqlDbType.DateTime),
new SqlParameter("@Isback", SqlDbType.Int,4),};
parameters[0].Value = _sortid;
parameters[1].Value = _brandid;
parameters[2].Value = _sub;
parameters[3].Value = _contect;
parameters[4].Value = _subname;
parameters[5].Value = _subtime;
parameters[6].Value = _isback;
要 Data Access Application Block 中的
不要petshop中的
0.
// pass // String.Format 我的最爱 ^_^
1. string sql = String.Format("INSERT INTO MyTable(Field1, Field2, Field3) VALUES({0}, '{1}', {2})", value1.ToString(), value2, value3.ToString());// 使用 @ 折行
2. string sql = String.Format(@"
INSERT INTO MyTable(Field1, Field2, Field3)
VALUES({0}, '{1}', '{2}')",
value1, value2, value3);
// StringBuilder 效率为先
using System.Text;
3. StringBuilder sqlBuidler = new StringBuidler();
sqlBuilder.Append("INSERT INTO MyTable(Field1, Field2, Field3) ");
sqlBuilder.Append("VALUES({0}, '{1}', {2})",
value1.ToString(), value2, value3.ToString());
// SQLServer
1.
string sql = @"
INSERT INTO MyTable(Field1, Field2, Field3)
VALUES(@Field1, @Field2, @Field3)";
// ...
mySqlCommand.Paramters.AddWithValue("@Field1", value1);
mySqlCommand.Paramters.AddWithValue("@Field2", value2);
mySqlCommand.Paramters.AddWithValue("@Field3", value3);
INSERT INTO Mac_Employee(A, B, ......Z)
VALUES(@Field1, @Field2, @Field3.....); 另外你的ASP写法里面压根就不是在写Sql语句.....