我试图使用C#将数据从DBF文件中提取到我的程序中.我正在使用Visual FoxPro OLE DB提供程序.它在我的本地机器上工作正常,但我想将我的程序打包成客户端可以使用的DLL.问题是,当他们从他们的机器运行程序时,它说Visual FoxPro OLE DB提供程序没有在他们的机器上注册.有没有办法在没有客户端在他们的机器上安装Visual FoxPro OLE DB提供程序的情况下使用它?
我正在寻找一个代码片段/库,通过网络使用来自Linux服务器的php/Java从第三方foxpro数据库中读取数据.有没有图书馆?有些人似乎正在使用Dbase库进行php?那样有用吗?
除了默认值(数据库名,用户名,密码)之外,我还需要Foxpro DB中的哪些参数.DBF名称,连接字符串??
将Visual Foxpro 6应用程序转换为Visual Foxpro 9时是否有任何问题; 还是直截了当?
在这个过程中我应该注意哪些问题?
这是我的代码
//Probando insercion
OleDbConnection conexionFoxPro = new OleDbConnection();
string rutaFoxPro = @"C:\Users\BigMander\Documents\Proyectos de Visual FoxPro\prueba.dbc";
conexionFoxPro.ConnectionString = String.Format("Provider=VFPOLEDB.1;Data Source={0};Exclusive=Yes;", rutaFoxPro);
bool sePudoEjecutarTodo = true;
try
{
conexionFoxPro.Open();
OleDbCommand comandoFoxPro = new OleDbCommand();
comandoFoxPro.CommandText =
@"INSERT INTO test ([nombre], [telefono], [id]) VALUES (?, ?, ?)";
comandoFoxPro.Parameters.Add("nombre", OleDbType.Char).Value = "bigmander";
comandoFoxPro.Parameters.Add("telefono", OleDbType.Char).Value = "some number";
comandoFoxPro.Parameters.Add("id", OleDbType.Integer).Value = 5;
comandoFoxPro.Connection = conexionFoxPro;
sePudoEjecutarTodo &= (comandoFoxPro.ExecuteNonQuery() > 0);
comandoFoxPro.CommandText =
@"SELECT nombre, telefono FROM test";
OleDbDataReader reader = comandoFoxPro.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("{0}: …Run Code Online (Sandbox Code Playgroud) 我正在尝试为 DBF 文件(Visual Fox Pro)创建一个 SQL 参数化更新命令,我不知道为什么,但在“DbCommand.ExecuteNonQuery();”上有一个“语法错误”。
异常错误消息是“语法错误”。我没有任何额外信息。
string maRequete = "UPDATE " + strNomTable + " set "
+ "evetype = @evetype ,"
+ "evedes = @evedes ,"
+ "evecli = @evecli ,"
+ "eveusermo = @eveusermo ,"
+ "eveinterv = @eveinterv where eveNum = '" + strEvtNumeroString.ToString() + "'";
OleDbCommand DbCommand = new OleDbCommand(maRequete);
DbCommand.Parameters.Add("@evetype", OleDbType.VarChar);
DbCommand.Parameters.Add("@evedes", OleDbType.VarChar);
DbCommand.Parameters.Add("@evecli", OleDbType.VarChar);
DbCommand.Parameters.Add("@eveusermo", OleDbType.VarChar);
DbCommand.Parameters.Add("@eveinterv", OleDbType.VarChar);
DbCommand.Parameters["@evetype"].Value = m_strEvtType.ToString().Trim();
DbCommand.Parameters["@evedes"].Value = m_strDesignation.ToString().Trim();
DbCommand.Parameters["@evecli"].Value = m_strCodeClient.ToString().Trim();
DbCommand.Parameters["@eveusermo"].Value = m_strUserModification;
DbCommand.Parameters["@eveinterv"].Value = …Run Code Online (Sandbox Code Playgroud) 我们的ERP系统是一个混合体.实际数据是SQL,但包含用户信息,配置文件,权限,安全性等的表在Visual FoxPro中.
我需要获得对VFP数据库的独占访问权限.我使用程序本身从系统中删除所有人,它表明每个人都不在系统中.我得到以下代码的以下响应:
set excl on
open data l:\M2MDATA\Util\util.dbc excl
Run Code Online (Sandbox Code Playgroud)
我得到的答复是:文件访问被拒绝.我进入了服务器管理器,没有人在我们的VFP目录中打开任何文件.
在VFP中是否有一个命令可以让我确定文件打开的人/什么和/或杀死FoxPro中的任何会话的方法呢?
我试着谷歌搜索但没有运气.
我有遗留应用程序,检查SQL Server的版本是6.5,7或2000.如果没有,它返回一个不支持的数据库错误.我希望这个应用程序在SQL Server 2008上使用数据库.有没有办法伪造版本,以便应用程序检查SQL Server版本通过.我的遗留应用程序代码是FoxPro.我没有办法重新编译FoxPro应用程序.
我需要通过互联网传输大量的foxpro文件,然后将数据导入访问数据库.在某些情况下,.fpt文件比同名的.dbf文件大几倍.根据我一直在阅读的内容,似乎.dbf文件可能包含所有内容,我可以忽略.cdx和.fpt文件.它是否正确
我正在FoxPro和远程SQL Server之间同步数据.一切都运行良好,但在FoxPro方面,如果我能够检测到不需要考虑同步的记录,它会快得多.我计算一个散列值,以与最后已知的散列进行比较,因此对于加载的记录,它很容易.我想要做的是在加载记录之前过滤掉记录,方法是检查updated上一次同步开始时间的列.
如何updated在每次对行进行更改时将列添加到当前日期和时间的VFP 9表中?
我正在寻找一个类似于 PHP 函数is_numeric()的 Visual FoxPro 函数。
我找到了这个,但我不能使用,VARTYPE或者TYPE因为变量总是一个只包含数字的字符串。
我找到了ISDIGIT()函数,但手册说它只检查第一个字符。
确定指定字符表达式的最左边的字符是否为数字(0 到 9)。
Run Code Online (Sandbox Code Playgroud)ISDIGIT(cExpression)参数
cExpression指定 ISDIGIT( ) 测试的字符表达式。cExpression 中第一个字符之后的任何字符都将被忽略。
我会使用正则表达式对象创建我自己的函数 VBScript.RegExp
FUNCTION isNumeric( tcValue )
LOCAL oRE
oRE = CreateObject("VBScript.RegExp")
oRE.Pattern = '^[0-9]+$'
RETURN oRE.test( tcValue )
ENDFUNC
? isNumeric( '123' )
Run Code Online (Sandbox Code Playgroud)
但是,FoxPro 是否为此提供了任何功能?
我只是在俯视吗?
也相同ISALHPA()which 确定字符表达式中最左边的字符是否是字母。我想检查变量是否只包含字母。