sqlthrow
⑴ sql视图声明变量问题
在使用带参数的sql时(sql server 2000),出现以下问题:
两种方法调用同一个数据库操作函数,只是在红色部分有区别,即传递参数名时是否带"@"符号。
   方法一在我本机测试无误,而用方法二时返出现错误:“必须声明变量@paraName”
而我同事机器正好和我的结果相反。
   现在初步怀疑是数据库设置问题,因为我们用的不是同一个数据库,数据库版本都是sql server 2000. 如果朋友们有知道此问题的请指教!
 1 数据库操作函数
 2 /// <summary>
 3             /// 向数据库里插长sql字段
 4             /// </summary>
 5             /// <param name="strSQL">SQL语句</param>
 6             /// <param name="fs"></param>
 7             /// <returns>影响的记录数</returns>
 8             public static int ExecuteSqlInsertLongSql(string strSQL, string textValue, string strParaName)
 9             {
10                 string strConn = System.Configuration.ConfigurationSettings.AppSettings["sqlserver"];
11                 using (SqlConnection connection = new SqlConnection(strConn))
12                 {
13                     SqlCommand cmd = new SqlCommand(strSQL, connection);
14                     string paraName = strParaName;
15                     System.Data.SqlClient.SqlParameter Sqlpara = new SqlParameter();
16                     Sqlpara.ParameterName = paraName;
17                     Sqlpara.SqlDbType = System.Data.SqlDbType.Text;
18                     //orapara.OracleType = System.Data.OracleClient.OracleType.LongVarChar;
19                     Sqlpara.Size = textValue.Length + 1;//int.MaxValue;//
20                     Sqlpara.Value = textValue.ToString();
21                     cmd.Parameters.Add(Sqlpara);
22                     try
23                     {
24                         connection.Open();
25                         int rows = cmd.ExecuteNonQuery();
26                         return rows;
27                     }
28                     catch (System.Data.SqlClient.SqlException E)
29                     {
30                         strErrMsg = E.Message;
31                         throw new Exception(E.Message);
32                     }
33                     finally
34                     {
35                         cmd.Dispose();
36                         connection.Close();
37                     }
38                 }
39             }
40 使用方法一:
41 string strHtmlValue=this.HtmlEditor1.Text.Replace("'","''");
42 sql="insert into wjb(scrq,scr,wjsm,wjnr,wjlxbm,shzt,wjm) values('"+this.lb_fbrq.Text.Trim()+"','"+userID+"','"+this.txt_bt.Text.Trim()+"',@paraName,'03','2','"+str_slm+"')";
43    
44                    
45                     if(conn.ExecuteSqlInsertLongSql(sql,strHtmlValue,"@paraName")==1)
46 //.
47 
48 使用方法二:
49 string strHtmlValue=this.HtmlEditor1.Text.Replace("'","''");
50 
51 sql="insert into wjb(scrq,scr,wjsm,wjnr,wjlxbm,shzt,wjm) values('"+this.lb_fbrq.Text.Trim()+"','"+userID+"','"+this.txt_bt.Text.Trim()+"',@paraName,'03','2','"+str_slm+"')";
52    
53                    
54                     if(conn.ExecuteSqlInsertLongSql(sql,strHtmlValue,"paraName")==1)
55 //.
⑵ 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。
1. 你的服务器和客户端在一台机器上?
2. 你的数据库实例名?
3. 你的连接串
4. SqlServer自己的连接工具可否连接?
⑶ php sql 异常判断
可以使用  mysql_errno() 来判断上一条sql语句是否执行成功. 返回非0 都表示错误. 
(若想获取错误的文本描述信息 , 可以使用 mysql_error() )
例子: 
$资源句柄 = mysql_connect(....);
@mysql_query('abcdee' , $资源句柄);
var_mp(mysql_errno($资源句柄));
var_mp(mysql_error($资源句柄));
 
================================
实现判断语句是否正确. 那就得在拼接sql的时候下功夫. 
如果把字段值的验证与过滤做到位了. 
那拼接出来的sql 不会有问题的.
⑷ sql无法连接本地服务器
这种故障往往是因为你在安装SQL Server时改变了默认的实例名,或者在对系统进行优化时禁止连接管道,也有可能因为你禁止了“服务器网络实用工具”中的命名管道。解决方案:在开始-运行中键入services.msc回车,然后看看MSSQLSERVER后面是什么,比如MSSQL$PC17,如果后面带有$实例名,在连接时,格式如下:127.0.0.1\实例名。如果是优化所致,那就叫给你优化系统的人,因为他太聪明啦!如果是第三种情况,请打开开始-程序-Microsoft SQL Server-服务器网络实用工具-把管道启用。
⑸ 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访
出现这样的错误的原因应该是:SqlSever的服务没有开启。解决方法如下:
1、点击开始。

⑹ SQL2008 连接数据库失败~
有可能是 SQL Server服务关闭了,也有可能是TCP/IP被关闭,还有可能是TCP/IP里面没有配置本地IP地址。
如有不懂,网络独占网络 http://www.sz886.com
