小编mak*_*mak的帖子

使用Entity Framework从存储过程中获取数据

我试图获取内容一个表,其中包含从数据库上下文对象调用的动态SQL存储过程(使用Entity Framework 6.1.1),以便填充GridView控件.我无法检索数据.

这是存储过程.这是一个关于存储过程中SQL注入的学生演示,所以我知道这是可注入的,它很好.

ALTER PROCEDURE dbo.SearchProducts
  @SearchTerm VARCHAR(max)
AS
BEGIN
  DECLARE @query VARCHAR(max)
  SET @query = 'SELECT * FROM dbo.Products WHERE Name LIKE ''%' + @SearchTerm + '%'''
  EXEC(@query)
END
Run Code Online (Sandbox Code Playgroud)

然后我用来执行存储过程的C#代码是:

var db = new MyEntities();
var TEST_SEARCH_TERM = "product";
var result = db.SearchProducts(TEST_SEARCH_TERM);

MyGridView.DataSource = result;
MyGridView.DataBind();
Run Code Online (Sandbox Code Playgroud)

执行时,在Visual Studio的数据库资源管理器中,存储过程正常工作.但是当在运行的ASP.NET应用程序中执行时,我在DataBind()方法中得到一个异常,因为result返回-1而不是IEnumerable DataSet包含由存储过程的SELECT产生的对象.

如何检索数据并填充我的数据GridView

c# sql-server asp.net stored-procedures entity-framework

32
推荐指数
1
解决办法
3万
查看次数

恼人的python tesseract错误打开数据文件时出错./teddata/eng.traineddata

我碰到了这个错误,这让我有点疯狂使用tesseract的python包装器,这是一个名为tesseract的python模块.

这是我试图运行的python代码:

img = cv2.imread(image, 0)
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetPageSegMode(tesseract.PSM_AUTO)
tesseract.SetCvImage(img,api)
url = api.GetUTF8Text()
conf=api.MeanTextConf()
print('Extracted URL : ' + url)
api.End()
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

Error opening data file ./tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
Run Code Online (Sandbox Code Playgroud)

我不明白它为什么这样做,因为我已将TESSDATA_PREFIX env变量正确设置为我的tesseract安装的正确路径(带有斜杠).

当我尝试直接从powershell运行Tesseract时(我在windows 7顺便说一下),通过执​​行以下操作:

 tesseract.exe .\data\test.tif -psm 7 out
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力!此外,当我在我的python脚本中使用Popen调用Tesseract时它工作正常,但我不喜欢我无法直接从stdout获取OCR文本的想法.实际上,似乎没有其他选择,只能为Tesseract提供输出文件名,然后从该文件中进行fopen和读取.我觉得处理临时文本文件只是为了得到OCR的输出是非常糟糕的...

救命?

python tesseract

4
推荐指数
1
解决办法
6397
查看次数

如何从文本文件生成制表符分隔的文件?

我有一个文件,其中奇数行上有数字,偶数行上有文本,如下所示:

123123
string A
456456
string B
789789
string C
Run Code Online (Sandbox Code Playgroud)

我想将其转换为以下格式(制表符分隔):

123123    string A
456456    string B
789789    string C
Run Code Online (Sandbox Code Playgroud)

我尝试删除所有换行符

tr -s -d " " < myFile
Run Code Online (Sandbox Code Playgroud)

然后sed使用

sed -i 's/[0-9]\s/' myFile
Run Code Online (Sandbox Code Playgroud)

但没有取得巨大成功。

你能帮我完成这件事吗?

linux text sed tr

2
推荐指数
1
解决办法
5338
查看次数