『壹』 aspsql語句問題
sql="insert into admin([name],password) values('gaoshou','gaoshou123')"
rs.open sql,conn,1,3
『貳』 請問call aspsql()是什麼意思
call是調用函數的語句
aspsql是一個函數
『叄』 SQL語句 哪裡錯;了
沒有錯誤的
除非power是資料庫的保留字
你輸出sql看看構成的字元串有沒有問題
『肆』 Postgresql 11 中文分詞插件zhparser centos 6.5 安裝報錯
在PG資料庫的基礎上加裝zhparser中文全文搜索插件,說實話,挺怕這些單獨編譯安裝的插件的,因為安裝PG資料庫方法的不同,最後可能導致安裝的插件各種安裝不上,這里說一下我遇到的坑,系統環境是Centos7, yum安裝的PG9.6。
1、INSTALL
關於安裝方法,可以直接到上面看https://github.com/amutu/zhparser
2、make的時候缺少pgxs.mk
[root@az zhparser]# PG_CONFIG=/usr/pgsql-9.6/bin/pg_config make && make installMakefile:19: /usr/pgsql-9.6/lib/pgxs/src/makefiles/pgxs.mk: No such file or directory
make: *** No rule to make target `/usr/pgsql-9.6/lib/pgxs/src/makefiles/pgxs.mk'. Stop.
解決方法:
[root@az zhparser]# export PATH=/usr/pgsql-9.6/bin:$PATH[root@az zhparser]# yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm[root@az zhparser]# yum install postgresql96-devel.x86_64
3、創建zhparser的時候提示Permission denied
ERROR: could not open file "/usr/pgsql-9.6/share/tsearch_data/qc_dict_jupiter.txt" for writing: Permission denied
HINT: COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \.CONTEXT: SQL statement " (select word, tf, idf, attr from zhparser.zhprs_custom_word) to '/usr/pgsql-9.6/share/tsearch_data/qc_dict_jupiter.txt' encoding 'utf8'"PL/pgSQL function sync_zhprs_custom_word() line 11 at EXECUTE
解決方法:
chown -R postgres:postgres /usr/pgsql-9.6/share/tsearch_data/
4、ERROR: must be superuser to alter superusers
[root@az data]# sudo -u postgres /usr/pgsql-9.6/bin/postgres --single -D /var/lib/pgsql/9.6/data/
PostgreSQL stand-alone backend 9.6backend> ALTER USER postgres WITH SUPERUSER;backend>
更多相關知識可以參考《Linux就該這么學》
『伍』 sql 如何把一個查詢結果當作一個表來查詢
SELECT A.COLUMN
FROM B
JOIN
(
SELECT SUM(NUM_QNTY4) AS sumNum, NUM_LINKID
FROM RW_STORE_QUNTY
GROUP BY NUM_LINKID
) A
ON A.COLUMN = B.COLUMN
拓展資料
SQL JOIN 子句用於把來自兩個或多個表的行結合起來,基於這些表之間的共同欄位。
最常見的 JOIN 類型:SQL INNER JOIN(簡單的 JOIN)、SQL LEFT JOIN、SQL RIGHT JOIN、SQL FULL JOIN,其中前一種是內連接,後三種是外鏈接。
『陸』 tempsql = "select sum(年齡) as sumvalue from table1"中得出來的結果存放到第一個記錄集的年齡欄位中去
舉個例子:
Dim CN As New ADODB.Connection '定義一個連接變數
Dim tempsql As String '定義一個查詢字元串變數
Dim R As New ADODB.Recordset '定義一個記錄集變數
CN.ConnectionString = My_Connection_Str '假設My_Connection_Str為已賦值的連接資料庫變數
CN.Open '連接資料庫
tempsql = "select sum(年齡) as sumvalue from table1"
R.Open tempsql, CN, adOpenStatic '將查詢結果放入記錄集變數R中
『柒』 SQL語句中用Parameters有什麼好處
安全,可以避免如
C#
string sql="select * from abc where uname='"+uname+"'"
ASP
sql="select * from abc where uname='"&uname&"'"
...
...
中uname表單請求中出現的'或其它字元,引起的繞過登錄的問題。
主要是為了安全。
『捌』 aspsql資料庫下載
這樣
一).創建部署項目
1. 在「文件」菜單上指向「添加項目」,然後選擇「新建項目」。
2. 在「添加新項目」對話框中,選擇「項目類型」窗格中的「安裝和部署項目」,然後選擇「模板」窗格中的「安裝項目」。在「名稱」框中鍵入 setup1。
3. 單擊「確定」關閉對話框。
4. 項目被添加到解決方案資源管理器中,並且文件系統編輯器打開。
5. 在「屬性」窗口中,選擇 ProctName 屬性,並鍵入 信息管理系統 。
二).將 主程序 項目的輸出添加到部署項目中
1. 在「文件系統編輯器」中,選擇「應用程序文件夾」。在「操作」菜單上,指向「添加」,然後選擇「項目輸出」。
2. 在「添加項目輸出組」對話框中,選擇「項目」下拉列表中的「你的程序」。
3. 單擊「確定」關閉對話框。
4. 從列表中選擇「主輸出」和「內容文件」組,然後單擊「確定」。
三).創建安裝程序類
1. 在「文件」菜單上指向「新建」,然後選擇「項目」。
2. 在「新建項目」對話框中,選擇「項目類型」窗格中的「Visual Basic 項目」,然後選擇「模板」窗格中的「類庫」。在「名稱」框中鍵入 installDB。
3. 單擊「打開」關閉對話框。
4. 從「項目」菜單中選擇「添加新項」。
5. 在「添加新項」對話框中選擇「安裝程序類」。在「名稱」框中鍵入 installDB。
6. 單擊「確定」關閉對話框。
7. 詳細代碼附後。
四).創建自定義安裝對話框
1. 在解決方案資源管理器中選擇「setup1」項目。在「視圖」菜單上指向「編輯器」,然後選擇「用戶界面」。
2. 在用戶界面編輯器中,選擇「安裝」下的「啟動」節點。在「操作」菜單上,選擇「添加對話框」。
3. 在「添加對話框」對話框中,選擇「許可協議」對話框,然後單擊「確定」關閉對話框。
4. 在「添加對話框」對話框中,選擇「文本框 (A)」對話框,然後單擊「確定」關閉對話框。
5. 在「操作」菜單上,選擇「上移」。重復此步驟,直到「文本框 (A)」對話框位於「安裝文件夾」節點之上。
6. 在「屬性」窗口中,選擇 BannerText 屬性並鍵入:安裝資料庫.
7. 選擇 BodyText 屬性並鍵入:安裝程序將在目標機器上安裝資料庫
8. 選擇 Edit1Label 屬性並鍵入:資料庫名稱:
9. 選擇 Edit1Property 屬性並鍵入 CUSTOMTEXTA1
10. 選擇 Edit1Value 屬性並鍵入:dbservers
11. 選擇 Edit2Label 屬性並鍵入:伺服器名:
12. 選擇 Edit2Property 屬性並鍵入 CUSTOMTEXTA2
13. 選擇 Edit2Value 屬性並鍵入:(local)
14. 選擇 Edit3Label 屬性並鍵入:用戶名:
15. 選擇 Edit3Value 屬性並鍵入:sa
16. 選擇 Edit3Property 屬性並鍵入 CUSTOMTEXTA3
17. 選擇 Edit4Label 屬性並鍵入:密碼:
18. 選擇 Edit4Property 屬性並鍵入 CUSTOMTEXTA4
19. 選擇 Edit2Visible、Edit3Visible 和 Edit4Visible 屬性,並將它們設置為 true
五).創建自定義操作
1. 在解決方案資源管理器中選擇「setup1」項目。在「視圖」菜單上指向「編輯器」,然後選擇「自定義操作」。
2. 在自定義操作編輯器中選擇「安裝」節點。在「操作」菜單上,選擇「添加自定義操作」。
3. 在「選擇項目中的項」對話框中,雙擊「應用程序文件夾」。
4. 選擇「主輸出來自 installDB(活動)」項,然後單擊「確定」關閉對話框。
5. 在「屬性」窗口中,選擇 CustomActionData 屬性並鍵入「/dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir="[TARGETDIR]\"」。
附:/targetdir="[TARGETDIR]\"是安裝後的目標路徑,為了在installDB類中獲得安裝後的路徑,我們設置此參數。
六).添加文件
1. 將SQL Server備份成文件DB.dat添加到「setup1」項目(在企業管理器中右擊資料庫->所有工作->備份資料庫,備份成一個文件,取名為DB.dat)
2. 將安裝文件LisenceFile.rtf添加到「setup1」項目
3. 在用戶界面編輯器中,選擇許可協議,設置LisenceFile屬性為LisenceFile.rtf文件
4.一般會自動將依賴項添加到「檢測到的依賴項」,如果沒有,那麼我們要手動將其加入步驟5)
Crystal_Managed2003.msm (如果有水晶報表)
dotnetfxredist_x86.msm (.net一定是必須的)
... (如果有引用其他的dll)
5.如果使用了水晶報表,手動加入要包含的文件:項目-->添加-->合並模塊(添加你的程序文件) (包括dotNetFramework和MDAC27),位於:C:\Program Files\Common Files\Merge Moles\ 下,*為必要的
具體功能如下:
(託管組件 MSM 處理所有託管組件的分發,其中包括 Windows 窗體查看器、Web 窗體查看器和所有 Crystal Decisions 命名空間)
* Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
(對於使報表運行所需的所有其他文件,由資料庫訪問 MSM 處理其分發。其中包括資料庫、導出和圖表驅動程序。)
* Crystal_Database_access2003.msm
Crystal_Database_access2003_chs.msm
(KeyCode MSM 處理 Crystal Decisions 密鑰號碼的安裝,注意是添加合並模塊,否則沒有「MergeMouleProperties」屬性)
* Crystal_regwiz2003.msm
(如果報表文件使用了 ADO.NET 的 dataset 數據集對象,那麼 VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模塊也必須包含在安裝工程中。而且這兩個模塊的文件安裝屬性的"Mole Retargetable Folder"項必須修改成為系統目錄)
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm
(很多人經常出現查詢錯誤,不妨加上這個)
5.打開解決方案-->右鍵點擊Crystal_regwiz2003.msm的屬性,在「MergeMouleProperties」里的「License Key」填入:AAP5GKS0000GDE100DS(這個是你生成Crystal Report是用到的注冊號的密碼!)
七).打包時加入卸載功能:
方法一:
1.在打包項目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)
2.在文件系統視圖中選擇應用程序文件夾,在msiexec.exe上按右鍵,選擇創建快捷方式,重命名快捷方式為"卸載".
3.更改此快捷方式的Arguments 為"/x {產品id}",產品id的值為打包項目的ProctCode屬性值.
方法二:(推薦)
1.先生成安裝包,記下ProctCode(選擇解決方案資源管理器根目錄如setup1,再查看屬性標簽,不是右鍵中的屬性),下面要用到
2.用VS.net建立一個新的控制台程序uninst.exe文件
'power by: landlordh
'for 2000,xp,2003
Mole uninstall
Sub Main()
Dim myProcess As Process = New Process
If System.Environment.OSVersion.ToString.IndexOf("NT 5") Then
myProcess.Start("msiexec", "/X{2B65D4A9-C146-4808-AB4B-321FB0779559}") '改為自己的ProctCode
End If
myProcess.Close()
End Sub
End Mole
3.將控制台程序BIN目錄的exe文件加入到打包程序文件中,在程序組創建uninst.exe的快捷方式
附:
installdb.vb類,要添加引用 system.configuration.install.dll :
Imports System.ComponentModel
Imports System.Configuration.Install
<RunInstaller(True)> Public Class Installer1
Inherits System.Configuration.Install.Installer
#Region " 組件設計器生成的代碼 "
Public Sub New()
MyBase.New()
'該調用是組件設計器所必需的。
InitializeComponent()
'在 InitializeComponent() 調用之後添加任何初始化
End Sub
'Installer 重寫 dispose 以清理組件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'組件設計器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下過程是組件設計器所必需的
'可以使用組件設計器來修改此過程。
'不要使用代碼編輯器來修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
components = New System.ComponentModel.Container
End Sub
#End Region
Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)
MyBase.Install(stateSaver)
If Not InstallDB() Then
'失敗,反安裝
Me.Uninstall(stateSaver)
Exit Sub
End If
DeleteFile(String.Format("{0}DB.dat", Me.Context.Parameters.Item("targetdir")))
End Sub
Public Overrides Sub Uninstall(ByVal stateSaver As System.Collections.IDictionary)
'執行反安裝
MyBase.Uninstall(stateSaver)
DeleteFile(String.Format("{0}DB.dat", Me.Context.Parameters.Item("targetdir")))
End Sub
Private Sub DeleteFile(ByVal paths As String)
'刪除指定的文件
Try
Dim delFile As New System.IO.FileInfo(paths)
If delFile.Exists Then
delFile.Delete()
End If
Catch ex As Exception
End Try
End Sub
Private Sub CreateSql(ByVal paths As String)
Dim File As System.IO.StreamWriter
Dim db As String = String.Format("{0}", Me.Context.Parameters.Item("dbname"))
Dim path As String = String.Format("{0}", Me.Context.Parameters.Item("targetdir"))
Try
Dim s As New System.Text.StringBuilder
s.Append("use master" & vbCrLf)
s.Append("" & vbCrLf)
s.Append("if not exists (select * from sysdatabases where name='" & db & "')" & vbCrLf)
s.Append(" BEGIN" & vbCrLf)
s.Append(" create database " & db & vbCrLf)
s.Append(" END" & vbCrLf)
s.Append("" & vbCrLf)
s.Append("if exists (select * from sysdevices where name='DBdisk')" & vbCrLf)
s.Append(" BEGIN" & vbCrLf)
s.Append(" EXEC sp_dropdevice 'DBdisk'" & vbCrLf)
s.Append(" END" & vbCrLf)
s.Append("Else" & vbCrLf)
s.Append(" BEGIN" & vbCrLf)
s.Append(" EXEC sp_admpdevice 'disk','DBdisk', '" & path & "DB.dat'" & vbCrLf)
s.Append(" END" & vbCrLf)
s.Append("" & vbCrLf)
s.Append("restore database " & db & vbCrLf)
s.Append("from disk='" & path & "DB.dat'" & vbCrLf)
s.Append("with replace")
File = New System.IO.StreamWriter(paths)
File.Write(s.ToString)
Catch ex As Exception
Finally
File.Close()
End Try
End Sub
Private Function InstallDB() As Boolean
'安裝資料庫,調用自動批處理。
Try
'創建臨時腳本
CreateSql(String.Format("{0}Mydb2000tp.sql", Me.Context.Parameters.Item("targetdir")))
'調用osql執行腳本
Dim sqlProcess As New System.Diagnostics.Process
sqlProcess.StartInfo.FileName = "osql.exe"
sqlProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -S {2} -i {3}Mydb2000tp.sql", Me.Context.Parameters.Item("user"), Me.Context.Parameters.Item("pwd"), Me.Context.Parameters.Item("server"), Me.Context.Parameters.Item("targetdir"))
sqlProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
sqlProcess.Start()
sqlProcess.WaitForExit() '等待執行
sqlProcess.Close()
'刪除腳本文件
DeleteFile(String.Format("{0}Mydb2000tp.sql", Me.Context.Parameters.Item("targetdir")))
Return True
Catch ex As Exception
Return False
End Try
End Function
End Class
『玖』 關於MSSQL存儲過程參數的問題
這兩個欄位的參數類型和你建立的表裡的參數類型是否一致阿!?
『拾』 PostgreSQL如何導入數據
用我寫的軟體可以用excel導入到postgresql,你上網找fitreport就行了。
或者這樣做:
可以寫語句或採用以下的方法
網上轉錄下來的方法:
步驟:
1.將excel表格欄位,按照postgresql
資料庫中表的欄位順序來整理數據,並保存為csv文件。
2.用記事本打開csv文件,另存為utf-8格式。
3.使用pgadmin客戶端鏈接postgresql資料庫,執行如下腳本,導入csv文件到postgresql數據表:
testdata
from
'd:/test/testdata.csv'
delimiter
as','
csv
quote
as
'"'
註:testdata
是postgresql資料庫表的名稱。
注意事項:
1.test目錄需要賦予postgres
用戶可讀寫的許可權,否則會有如下報錯信息:
error:
could
not
open
file
"d:/testdata2.csv"
forwriting:
permission
denied
2.csv文件要為utf-8格式,否則導入時可能會有報錯:
error:
invalid
bytesequence
for
encoding
"utf8":
0xcdf5
3.注意windows環境下文件路徑的表述方式,如:d:/test/data.csv