如下connection出错 反应“系统错误” 请求指导 拜谢……
program events;
{$APPTYPE CONSOLE}
{%DotNetAssemblyCompiler 'c:\windows\microsoft.net\framework\v1.1.4322\System.Data.dll'}
uses
SysUtils,
System.Data,
System.Data.SQLClient,
System.Collections,
System.Reflection;
procedure OnStateChangeEvent(sender: System.Object;
args: StateChangeEventArgs);
begin
Console.WriteLine(System.String.Format(
'State changed from {0} to {1}.', args.CurrentState,
args.OriginalState));
end;
procedure OnInfoMessageEvent(sender: System.Object;
args: SqlInfoMessageEventArgs);
var
se: System.Data.SqlClient.SqlError;
erEnum: IEnumerator;
begin
erEnum := args.Errors.GetEnumerator;
while erEnum.MoveNext do
begin
se := erEnum.Current as SqlError;
Console.WriteLine('Server: '+se.Server);
Console.WriteLine('Source: '+se.Source);
Console.WriteLine('Class: '+se.&Class.ToString);
Console.WriteLine('State: '+se.State.ToString);
Console.WriteLine('Number: '+se.Number.ToString);
Console.WriteLine('LineNumber: '+se.LineNumber.ToString);
Console.WriteLine('Procedure: '+se.&Procedure);
Console.WriteLine('Message: '+se.Message);
end;
end;
const
CNSTR = 'server=XWING;database=Northwind;Trusted_Connection=Yes';
var
sqlcn: SqlConnection;
cmd: SqlCommand;
begin
sqlcn := SqlConnection.Create(CNSTR);
Include(sqlcn.InfoMessage, OnInfoMessageEvent);
Include(sqlcn.StateChange, OnStateChangeEvent);
sqlcn.Open();
try
System.Console.WriteLine(System.String.Format('Connected to: {0}',
sqlcn.ConnectionString)); //在本行产生错误
cmd := sqlcn.CreateCommand;
cmd.CommandText := 'PRINT ''hello''';
cmd.ExecuteNonQuery;
finally
sqlcn.Close;
end;
Console.ReadLine;
end.
连接数据库总是产生错误
且均显示“系统错误”
实在不明白是怎么回事
向各位大侠求助……
拜谢!
如下代码得到相同结果
uses
SysUtils,
System.Data,
System.Data.SQLClient,
System.Collections,
System.Reflection;
procedure OnStateChangeEvent(sender: System.Object;
args: StateChangeEventArgs);
begin
Console.WriteLine(System.String.Format(
'State changed from {0} to {1}.', args.CurrentState,
args.OriginalState));
end;
procedure OnInfoMessageEvent(sender: System.Object;
args: SqlInfoMessageEventArgs);
var
se: System.Data.SqlClient.SqlError;
erEnum: IEnumerator;
begin
erEnum := args.Errors.GetEnumerator;
while erEnum.MoveNext do
begin
se := erEnum.Current as SqlError;
Console.WriteLine('Server: '+se.Server);
Console.WriteLine('Source: '+se.Source);
Console.WriteLine('Class: '+se.&Class.ToString);
Console.WriteLine('State: '+se.State.ToString);
Console.WriteLine('Number: '+se.Number.ToString);
Console.WriteLine('LineNumber: '+se.LineNumber.ToString);
Console.WriteLine('Procedure: '+se.&Procedure);
Console.WriteLine('Message: '+se.Message);
end;
end;
const
CNSTR = 'server=XWING;database=Northwind;Trusted_Connection=Yes';
var
sqlcn: SqlConnection;
cmd: SqlCommand;
begin
sqlcn := SqlConnection.Create(CNSTR);
Include(sqlcn.InfoMessage, OnInfoMessageEvent);
Include(sqlcn.StateChange, OnStateChangeEvent);
sqlcn.Open();
try
System.Console.WriteLine(System.String.Format('Connected to: {0}',
sqlcn.ConnectionString));
cmd := sqlcn.CreateCommand;
cmd.CommandText := 'PRINT ''hello''';
cmd.ExecuteNonQuery;
finally
sqlcn.Close;
end;
Console.ReadLine;
end.