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
