如下connection出错 反应“系统错误” 请求指导 拜谢……

susantj susantj 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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.
...全文
评论 1
收藏 已收藏
分享
返回顶部
susantj
.NET技术其他语言 1,979 成员 12,447 内容